失效链接处理 |
《JavaScript高级程序设计》读书笔记 PDF 下载
本站整理下载:
提取码:t927
相关截图:
主要内容:
基本概念 变量var操作符定义为该变量的作用域中的局部变量,在函数退出后销毁 省略var,会创建全局变量 数据类型 undefined、null、boolean、number、string、object typeof是一个操作符还不是函数 函数是对象而不是数据类型 用typeof可区分函数和对象 undefined值是派生自null值的,因此ECMA-262规定对它们的相等性测试要返回 truenull == undefined // true null是空对象的指针,如果定义的变量将来用于保存object,可以初始化为null if会自动执行Boolean转换 Number 类型 0开头不超出范围的为8进制 可以保存+0和-0 且 +0 = -0 不要测试浮点数的数值!! Infinity值不能参与计算,用isFinite测试 NaN与任何值都不相等 NaN == NaN // false !isNaN()来测试是否为数字 Number(不常用) 数值转换:Boolean -> 0/1; null -> 0;undefined -> NaN;"" -> 0; Number(obj) 先调用valueOf,如果是NaN,再调用toString() 使用 + - 操作等于Number() Number('string') // NaN Number('0000123') //123 paresInt - 从头开始找第一个数字,如果是string返回NaN,第二个参数表示进制 4
01.基本概念 parseInt('123adf') //123 parseInt('') // NaN parseInt(22.4) //22 parseInt('0xA') //10 parseInt('AF',16) // 175 parseFloat 只转换10进制 Stringnull 和 undefined 没有toString方法 something+"" Object Object的每个实例都有下列属性和方法 constructor 保存用户创建当前object的方法 hasOwnProperty 检查指定属性是否在当前对象的实例中 isPrototypeOf(obj) 检查obj是否是当前对象的原型 propertyIsEnumerable 检查对象能否使用 for-in toLocaleString 与执行环境相同的字符串表述 toString 字符串表示 valueOf 字符串、数值、布尔值表述 操作符前置递增递减实在语句被求值以前改变的 后置递增递减是在包含他们的语句被求值之后执行 位操作符~ 按位非,返回2进制反码 & 按位与,将2进制数值每一位对齐 1-1 0 1-0 0 0-1 0 0-0 0 | 按位或,2进制每一位执行或 ^ 按位异或,2进制只有一个1返回1 << 左移,数值的2进制所有位向左移动 2 << 5 = 64 >> 有符号右移,数值的2进制所有位向右移动,但保留符号 >>> 无符号右移,把2进制码当做正数的二进制 5
01.基本概念 布尔操作! 转换成布尔值再求反 !! 转换成布尔值 && 属于短路操作,第一个操作数能决定结果则不会对第二个数进行操作 var a = false; var result = (a && something) // no error var b = true; var result2 = (b && something) //error || 短路操作,可填充默认值 乘性操作符 Infinity * 0 = NaN 非数值会先用Number()转换 Infinity / Infinity = NaN 加性操作符 + 如果有一个string则转换另一个也为string - 如果有一个string则转换另一个为number 关系操作符 比较字符串时按照字符串编码比较 NaN与任何值相比都是false (包括相等) 相等操作符 == !== 先转换再比较 === !=== 仅比较不转换 条件操作符 variable = boolean_expression ? true_value : false_value 6
|