-
var yz=obj && obj.y && obj.y.z 从左到右一个个验证对象是否存在,如果存在,就进行到 && 的下一个元素,直到返回最后一个元素值
查看全部 -
hasOwnProperty 检查是否是对象本身包含的元素。
查看全部 -
js五种原始类型:number/string/boolean/null/undefined,及对象object类型(Array,Date,Function)
查看全部 -
getOwnPropertyDescriptor(obj,'属性' )可获取一个属性中所有标签
configurable是否可配置 为false则delete不能生效
object.defineProperty(添加属性的对象,'属性',对象的标签)
Object.create()
方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__查看全部 -
继承,Object.create(Person.prototype)创建一个空对象,指向Person.prototype,Person.call(this, name, age)的作用就是,调用一次Person,把this传入到Person里面执行一遍,把Person原有this上的属性都赋值一遍,赋值到传入的this(Student的this)上
查看全部 -
函数参数--函数声明(若发生命名冲突,会覆盖)-- 变量声明(初始化变量值为undefined,若发生全名冲突,会忽略)
查看全部 -
JavaScript数据类型
查看全部 -
第二次重点查看全部
-
instanceof是针对原型链的一个类型判断
查看全部 -
类型检测小结
typeof
适合基本类型及function检测,遇到null失效。
instanceof
适合自定义对你,也可以用来检测原生对象,在不同iframe和window间检测时失效。
查看全部 -
对象包含一系列无序的属性,每个属性(可动态添加或删除)都有一个字符串key和对应的value,每个对象都还有个原型
function foo(){}
foo.prototype.z=3;
var obj=new foo();
[proto](原型):指向foo()的prototype(函数的对象属性)
访问obj.z--查找对象属性,没有z,再在对象的原型链上继续查找一直到末端
对象的[class]标签表示它属于那个种类
对象的[extensible]标签表示它是否允许增加新的属性
查看全部 -
实现继承的方式
其中方式1.2.3都有其弊端,但是3更为完善,方式3是ES5之后才支持的,所以可以使用右侧方法进行模拟。
查看全部 -
函数声明和函数表达式的区别:函数声明会被前置
命名函数表达式在IE6~8是不相等的,在IE9+是相等的
Function构造器:
1.在函数构造器里面定义的变量是局部变量
Function('var localVal = "local";console.log(localVal);')();// 可以立即调用执行 console.log(typeof localVal); // result:local,undefined
2.不能访问拿到外层函数的局部变量localVal
var globalVal = 'global'; (function(){ var localVal = 'local'; Function('console.log(typeof localVal,typeof globalVal);')(); })(); // result: undefined,string
查看全部 -
函数:被定义一次,可执行和调用多次。JS中的函数也称函数对象
函数的返回值依赖return,一般的函数调用:没有return就会默认在所有代码执行完返回一个undefined;
如果作为构造器,外部使用new去调用,这样没有return语句或者return后边是基本类型的话,那么会将this作为返回;反之如果return了一个对象的话,这个对象作为new构造器的返回值。
不同的调用方式下this指向不同:
foo();直接调用
o.method();对象方法
new Foo();构造器
func.call(o);call/apply/bind
查看全部 -
数组VS一般对象
相同:都可以继承,数组是对象,对象不一定是数组,都可以当作对象添加删除属性
不同:数组自动更新length;按索引访问数组常常比访问一般对象属性明显迅速。数组对象继承Array.prototype上的大量数组操作方法。
var str = "hello world"; str.charAt();// "h" str[1];//e Array.prototype.join.call(str, "_"); // "h_e_l_l_o__w_o_r_l_d"
查看全部
举报