JS犀牛书学习笔记——第三章 类型、值和变量
作者:互联网
第三章 类型、值和变量
数据类型分为原始数据类型(数字、字符串和布尔值)和对象数据类型;
特殊原始值:null和undefined;
数字
JavaScript支持复杂的算术运算,通过作为Math对象的属性定义的函数和常量;
算术运算在溢出(±Infinity)、下溢(0)或被零整除的时候不会报错;
NaN非数字值,他和任何值都相等,包括自身;
二进制浮点数和四舍五入错误;
用大整数进行重要的金融计算
字符串直接量
当js代码和HTML代码混杂在一起的时候,最好在js和HTML代码中各自使用独立的引号风格
ES3字符串直接量必须写在一行,ES5字符串直接量可拆分成数行,每行必须以反斜线结束;
字符串提供了许多可以调用的方法;
ES5中,字符串可以当作只读数据,除了charAt(),还可以用方括号来访问字符串的单个字符;
布尔值
任意js的值都可以转换为布尔值,undefined,null,0,-0,NaN,空字符串都会被转换成false,其他所有值,包括所有对象(数组)都会被转换成true;
null和undefined
都表示值的空缺,要使用严格相等运算符“===”来区分它们;
全局对象
当js启动器启动时(或者任何Web浏览器加载新页面的时候),他将创建一个新的全局对象,比给他一组定义的初始属性;
包装对象
js对象是一种复合值,他是属性或已命名值的集合;
存取字符串、数字或布尔值的属性时创建的临时对象称作包装对象;
不可变的原始值和可变的对象引用
原始值的比较是值的比较;
对象的比较并非值的比较(两个对象包含同样的属性及相同的值,但他们也是不等的),对象也称为引用类型,对象值都是引用;
对象的比较均是引用的比较,想比较两个单独的对象或数组,则必须比较它们的属性或元素;
类型转换
js运算符和语句期望使用多样化的数据类型,并可以相互转化;
类型转换表p49;
显式类型转换:toFixed()
toExponential()
toPrecision()
Number()
parseInt()
parseFloat()
对象转换为原始值:toString()
valueOf()
函数作用和声明提前:
函数作用域是指在函数内声明的所有变量在函数体内始终是可见的;
由于函数作用域的特性,局部变量在整个函数体始终是有定义的,函数体内局部变量遮盖了同名全局变量,只有在执行赋值语句时才会被真正赋值;
标签:第三章,函数,对象,js,布尔值,字符串,犀牛,JS,属性 来源: https://www.cnblogs.com/masahiko/p/15852472.html