-
对象模型查看全部
-
fun.call(obj,arg0,arg1);<br> fun.apply(obj,[arg0,arg1]);<br> 两个函数都是函数fun请求对象obj调用,其他参数为函数实参。<br> 不同点在于call直接写实参,apply用数组。
查看全部 -
对象原型链上的this
这里的p的原型是a
查看全部 -
作为对象方法的函数的this
查看全部 -
一般函数的this
查看全部 -
全局对象 this = window
查看全部 -
对象. 无序的key-value键值对,key为字符串
查看全部 -
判断数据类型:typeof instanceof Object.prototype.toString.apply/call() 自定义: (object===null||object===undefined)?object:(object.constructor&&object.constructor.toString().match(/function\s*([^(]*))/)[1])查看全部
-
obj instanceof Object
instanceof 是基于原型链判断对象类型的操作符
obj必须是一个对象,如果是基础数据类型的话,会直接报错
Object必须是一个函数对象或者函数构造器,如果不是会抛出typeError异常
原理: 左边的操作对象obj的原型链上是否有右边的构造函数的prototype属性
适合检测自定义对象和原生对象 , 在不同的iframe和window之间检测失效
查看全部 -
typeof 适合基础类型和函数类型的检测 , 不适合其他对象类型的检测
typeof null === "object" 是一个历史遗留问题
查看全部 -
var str = 'string'
alert(str.length) // 6
str.t = 10 // undefined
当把一个基础数据类型尝试用对象的方法, 添加属性的时候, js会尝试先把基础类型转化成对应的基础类型包装对象, 但是当完成这个访问以后 , 这个临时的包装对象就会立即被销毁, 所以str.t的值是undefined
查看全部 -
null == undefined
string == number string转number 再比较number
Boolean == number boolen 转 number 再比较number
object == number || string object转为基础类型 再比较
查看全部 -
+ -
==
===
null === null
undefined === undefined
NaN ≠≠≠ NaN
object ≠≠≠ object 对象比较的是对象的引用 不是具体的对象
查看全部 -
数据类型 :
1 基础类型 number string boolen null undefined
2 对象 object
查看全部 -
难点
查看全部
举报