标签:not enum width code 原型 参与 lock 范围 rop
"undefined" 如果这个值未定义
boolean 如果这个值是布尔值
string 如果这个值是字符串
number 如果这个值是数值
object 如果这个值是null或者对象
function 如果这个值是函数
调用 typeof null 会返回 object,因为特殊值null被认为是一个空的对象引用
let floatNum1 = 1.; // 解析为1
let floatNum2 = 10.0; // 解析为10
NaN,即非数值(Not a Number),是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样子就不会抛出错误)
console.log(isNaN(NaN)); // true
console.log(isNaN(10)); // false
console.log(isNaN(‘10‘)); // false
console.log(isNaN(‘blue‘)); // true (不能被转换为数值)
console.log(isNaN(true)); // false (可以被转换为数值1)
转换规则:
(1) Boolean值:true-->1,false-->0
(2) 数字值:返回该数字值
(3) null值:返回0
(4) undefined值:返回NaN
(5) 字符串,遵守以下规则
a.如果字符串中只包含数字,则将其转换为十进制数值
b.如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值(会忽略前导0)
c.如果字符串中包含有效的十六进制格式,则将其转换为相同大小的十进制整数值
d.如果字符串是空,则将其转换为0
e.如果字符串中包含除上述格式之外的字符,则将其转换为NaN
(1)使用parseInt()解析八进制字面量的字符串时,ECMAScript3和ECMAScript5存在分歧,因此建议明确指定基数
let num = parseInt(‘070‘); //ECMAScript3认为是56(八进制),而ECMAScript5认为是70(十进制)
(2)parseFloat() 只解析十进制值,因此它没有用第二个参数来指定基数的用法
ECMAScript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量
(1)toString()方法( null 和 undefined 没有此方法)
(2)String()方法(能够将任何类型的值转换为字符串)
规则:
(1)如果值有toString()方法,则调用该方法(没有参数)并返回相应的结果
(2)如果值是null,则返回"null"
(3)如果值是undefined,则返回"undefined"
ECMAScript 中的对象其实就是一组数据和功能的集合
Object的属性和方法:
(1) constructor():保存着用于创建当前对象的函数
(2) hasOwnProperty():用于检查给定的属性再当前对象实例中是否存在
(3) isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型
(4) propertyIsEnumerable(propertyName):用来检查给定的属性是否可以用for-in语句来枚举
(5) toLocalString():返回对象的字符串表示,该字符串与执行环境的地区对应
(6) toString():返回对象的字符串表示
(7) valueOf():返回对象的字符串、数值和布尔值表示。通常与toString()方法的返回值相同
标签:not enum width code 原型 参与 lock 范围 rop
原文地址:https://www.cnblogs.com/let423/p/13247121.html