-
prototype 属性与原型 function Foo(){} 声明构造器 Foo 时, Foo 构造器默认会有 Foo.prototype 属性,Foo.prototype 属性本身也是对象,因此可以叫做“对象属性” 同时,Foo.prototype 默认又会有两个属性 Foo.prototype.constructor 和 Foo.prototype.__proto__ 其中,Foo.prototype.__proto__ 就是 Foo.prototype 的原型 Foo.prototype.__proto__ 又指向 Object 的 prototype 属性,即 Object.prototype Foo.prototype 的作用: 当使用 var obj = new Foo() 生成 Foo 的实例 obj 时,Foo.prototype 对象属性会当作 obj 的原型 obj.__proto__ prototype 属性与原型 __proto__ 的关系: prototype 是构造器(函数对象)上面预置的对象属性,原型 __proto__ 是对象(实例对象)上的原型 对象的原型 __proto__ 指向其构造器的 prototype 属性查看全部
-
运算符查看全部
-
判断this的指向(1-4优先级逐级递减,1优先级最高,4优先级最低): 1、函数被new调用,this指向由new新构造出来的这个对象; 2、函数通过call()、apply()、bind()调用,this指向被绑定的对象; 3、函数作为方法被调用,this指向这个对象(即常说的对象上下文); 4、默认(非严格模式)情况下,this指向window, 严格模式下,this指向undefined。查看全部
-
原型属性查看全部
-
原型链查看全部
-
数组求和,取最大、最小值,或者自定义其他逻辑业务运算!查看全部
-
var arr = [1, 2, 3]; arr.join(); //将数组转为字符串 -> "1,2,3" 而new Array(n+1).join(str)的原理是,创建一个n+1大小的数组,若用join()方法会 产生含n个“,”的字符串,而str正代替这些“,”以造成重复n次str参数的字符串。 arr.reverse(); //将数组逆序,原数组会被修改 -> [3, 2, 1] arr.sort(); //排序,默认按照字母顺序排序(会把数字转化为字符串排序)原数组会被修改 而如果是数字,则会 取第一位数的字符顺序进行排序,改完以后原数组会被修改。如果想用sort进行数字上的排序,则应写 入函数参数function(a,b){return a-b;},这是升序排列,反之降序是b-a。 arr.concat(4,5,6); arr.concat(4, [5,6]); //数组合并,原数组未被修改 -> [1, 2, 3, 4, 5, 6] arr.slice(1, 2); //截取 返回两个index之间部分数组,左闭右开区间,原数组未被修改 -> [2] /*数组截取拼接(原数组被修改)*/ arr.splice(1); //return [2, 3] 删除 arr; //[1] arr.splice(2, 1); //return [3] 删除 arr; //[1, 2] arr.splice(1, 1, 'a', 'b') //return [2] 删除并新添 arr; //[1, "a", "b", 3]查看全部
-
arr.sort(function(a,b)){ return a-b//从小到大排列 return b-a//从大到小排列 }查看全部
-
二维数组查看全部
-
js中数组什么类型都可以查看全部
-
//自定义json var obj = { x:1, y:2, o:{ x:1, y:2, toJSON:function(){ return this.x+this.y } } } console.log(JSON.stringify(obj)) //{"x":1,"y":2,"o":3}查看全部
-
extensible标签 是否可扩展(添加)属性 Object.isExtensible(obj) 检测是否可扩展 默认可扩展 //true Object.preventExtensions(obj) 改为不可扩展(防止扩展) 防止扩展的目的: Object seal(obj) 把对象的所有configurable(可配置)属性改为false Object.isSealed(obj) 判断对象是否被seal(密封) Object.freeze(obj) 冻结对象(不可写writable)writable为false Object.isFrozen(obj) 检测对象是否被冻结 (以上方法不影响对象原型链,可通过Object.prototypeOf 获取原型链然后层层遍历)查看全部
-
属性标签 configurable (是否可配置。可删除) writable(是否可读写)查看全部
-
Object.getOwProertyDescriptor(obj,property_name);<br> value: 属性值 writable: 该属性是否可写,可改变<br> enumerable:该属性是否可被枚举,就是可在for in中出现<br> configurable: 该属性的标签是否可改变,是否可用delete将该属性删除。 用defineProperty定义属性时,默认configurable为true,如果设置为false后,该属性不管是什么方式都无法更改。查看全部
举报
0/150
提交
取消