-
类型检测
查看全部 -
defineProperty configurable: false 属性不能没删除
查看全部 -
判断是原型属性还是对象自身属性 hasOwnProperty
查看全部 -
类型检测方法:
typeof
instanceof
Object.prototype.toString
constructor
duck type
//用 typeof 判断基本类型和函数对象
alert(typeof 123) //输出数字类型 number
alert(typeof "str") //输出字符串类型 string
alert(typeof true) //输出布尔类型 boolean
alert(typeof undefined) //输出undefined类型 undefined
alert(typeof new Object()) //输出对象类型 object
alert(typeof [1,2]) //数组 输出对象类型 object
alert(typeof function(){}) //函数对象 输出function类型
alert(typeof NaN) //输出number
alert(typeof null) //由于历史原因,输出对象类型 object,而不是 null类型
//用 Object.prototype.toString 判断对象数组、函数
alert(Object.prototype.toString.apply([])) //输出[object Array]
alert(Object.prototype.toString.apply(function(){})) //输出[object Function]
查看全部 -
包装对象:就是将基本类型(number、string、boolean)包装成对象类型。
如,将字符串类型的"str",尝试以对象形式使用时,可以访问str的属性(str.length),这时str就包装成一个临时对象,访问完属性后,临时对象就被销毁了。
查看全部 -
巧用 + / -规则转换类型
将变量num转换为数字类型: num - 0
将变量num转换为字符串:num + " "
---------------------------------
==号两边,一边是字符串,一边是数字时,字符串会转化为数字来比较。如,“1.24”==1.24
另:
0 == false
null == undefined
new object() = new object()
[1,2,3,4] = [1,2,3,4]
----------------------------------
类型不同,返回false。
类型相同,值相同,绝对相等 ===
查看全部 -
splice数组拼接,原数组被修改 splice(3) 删除数组元素从3开始到最后 splice(3,2) 删除数组元素从3开始,删除2个查看全部
-
slice返回部分数组 -2,从后往前数第二个查看全部
-
concat 数组合并查看全部
-
reverse将数组逆序查看全部
-
join 将数组转为字符串查看全部
-
数组方法查看全部
-
稀疏数组查看全部
-
数组迭代 for in是不保证顺序的查看全部
-
数组元素增删 数组尾部添加元素 push、 arr.length 数组头部添加元素 unshift 数组尾部删除元素 pop、 arr.length -= 数组头部删除元素 shift查看全部
举报