JS的变量与数据类型/JS一
JS 运行在浏览器上的动态语言
内核中有两个引擎:渲染引擎 JS引擎
jS是解释型语言:一行一行执行,插入一句话(编译型是先编译,然后整体运行)
JS是单线程:单线程异步
node.js用js搭建的服务器
ECMA:欧洲计算机联盟
JS核心3部分
ECMA 标准核心
DOM Document Object Model
BOM Broswer Object Model
<head>
<meta charset="UTF-8">
<title>Title</title>
// CSS样式从这里引入
<link rel="stylesheet" href="01-css.css">
</head>
<body>
<!--alert 弹框
点击点我会出现alert里的弹框
-->
<button onclick="alert('你点到我了')">点我</button>
<script>
/*这里引入js js代码不要写在头部 ,写在这里可以保证快速加载*/
</script>
<!--src属性写外部js路径-->
<script src="01.js"></script>
</body>
变量 泛型变量:不指定具体数据类型
关键字 var 定义变量
规则:1.区分大小写
2.数字字母下划线
3.不能使用关键字 和保留字
4.变量 小驼峰, 函数 大驼峰
分号代表结束 可以不加(提倡不加)
var a = 10;/*变量的声明*/
var b = '23.45'
var c,d/*变量定义没赋值*/
/*向控制台打印*/
console.log(c) /*输出结果Wieundefined 变量定义未赋值*/
a=x33.45/*覆盖a*/
console.log(a,b)
浮点型精度,小数点后17位
交换变量a,b
<script>
var a=10;
var b=20;
var temp=0;
temp=a
a=b
b=temp
console.log("a的值是"+a,"b的值是"+b)
a=a+b
b=a-b
a=a-b
</script>
数据类型 分两类:基本数据类型
1.数值类型(整形+浮点型)
2.布尔型(逻辑类型)
3.字符串(string)
4.undefined(只定义未赋值)
5.null 空对象指针(空引用)
引用类型:
1.对象
2.数组
3.函数
判断基本数据类型 typeof可以判断基本数据类型
<script>
/*数值类型 Number*/
var num1=23.456;
var num2=90;
/*判断基本数据类型 typeof可以判断基本数据类型*/
console.log(typeof(num1) ) /*number类型*/
console.log(typeof num2) /*number类型*/
/*字符串*/
var str="杀菌消毒"
console.log(typeof str)
console.log(str.length) /*结果为4(有效字符),但是是5个字符,因为有\0结束符*/
</script>
其它类型转数值类型
string boolean null undefined -->number
1.转换为数值类型的方法Number()
Number('123.45') 返回数字 字符串转数字
Number(true) 返回1
Number(false) 返回0
Number(undefined) 返回NaN not a number
Number(null) 返回0
isNaN() is not a number 判断这个值是否是数值 是数值返回false 不是返回true
Number('123as') 返回NaN 不是数字识别不了
2.parseInt() 其它类型(字符串,浮点)转整数
parseInt(23.23) 返回23
parseInt('123') 返回123
parseInt('123asd')返回123
parseInt('a123') 返回NaN
3.parseFloat() 转成浮点型
parseFloat('12.345') 返回12.345字符串转浮点型
parseInt parseFloat 尽自己所能 Number 局限
其它类型转布尔类型
哪些值可以转换为0?怎么转换Boolean()
Boolean() 0 null undefined '' false 转的结果都为false
其他类型转字符串的两种方法
1.对象.toString()
2.String()
toString()不能转换 null,undefined 单String()能