-
isArray:判断是否为数组,必须用Array构造器对象调用 其他的判断是否数组的方法: [] instanceof Array;//true ({}).toString.apply([])==='[object Array]';//true [].constructor === Array;//true查看全部
-
数组的方法(ES5的方法) 1.forEach 遍历 2.map 映射 var arr = [1,2,3]; arr.map(function(x){ return x +10; });//【11,12,13】 arr;//[1,2,3] 原数组未被修改 3.filter 数组过滤 arr = [1,2,3,4,5,6,7,8,9,10]; arr.filter(function(x,index){ return index%3 ===0 || x>=8; }); [1,4,7,8,9,10]; arr; 原数组未被修改 4. 数组判断 every 所有的元素都符合条件 返回true 否则返回false some 某个元素符合条件则返回true 若所有的元素都不符合条件则返回false var arr =[1,2,3]; arr.every(function(x){ return X<10; });//true arr.every(function(x){ return x < 3 });//false 6.reduce 数组中的元素两两之间的某些操作 从左到右 reduceRight 从右往左 var arr = [1,2,3]; var sum = arr.reduce(function(x,y){ return x+ y },0);//6 传入了一个0 则x相当于0 y 相当于1 然后值1 ; 然后此时 x 相当于1 y 相当于2 和为3 x相当于3 y 相当于3 和为6 所以结果为6 如果不传入0这个值 则X从数组的第一个元素开始 循环两两元素相加 reduceRight 同理 只不过是从右往左开始两两操作 7.indexOf 数组的检索 indexOf(a,b);a 是查找的元素 b是开始查找的位置 正数从左数的位置 负数从右数的位置 indexOf(元素); 返回的是元素的下标 不存在返回-1 lastIndexOf 从右往左查。查看全部
-
join()--将数组转换为字符串,可打印数组。 join("")给数组添加组合符号。如arr=[a,b,c];arr.join("_");//"a_b_c",原数组未被修改 reverse()倒序排列数组。注意原数组会被修改 sort()按照字母的顺序排序,但是无法满足复杂的字符串,即无法按数字大小排序 sort(function(a,b){return a-b})---在sort方法中定义一个函数,如果是升序排列的话,前面的值要小于后面的值,就要返回一个负数;如果是降序排列的话;前面的数会大于后面的数,返回一个正数。注意原数组会被修改。 concat()合并数组,不会修改原数组 slice(a,b)表示截取数组第a个索引元素到第b个索引元素结束,左闭右开;当a,b值为负数时,表示倒着截取数组,且不对原数组不修改。 splice(a)只有一个参数时,表示在a索引的位置截断数组,形成两个数组; splice(a,b)有两个参数时,表示在a索引的位置截取b个元素形成新数组。 splice(a,b,新元素) splice方法原数组会被修改。查看全部
-
字符串和数字如果进行的是加法运算,会把+当做字符串拼接,因此"37"+37="3737",而字符串和数字进行减法运算,则先把字符串转成int,praseInt("37")=37,如果字符串不能转成数字,那么转换结果为NaN,NaN和任何数进行运算都为NaN。同样"32"-false=32是把“32”转换为32,false转换为0。查看全部
-
数组: 1、JS中的数组是弱类型的 数组中可以含有不同类型的元素 数组元素甚至可以是对象 或者其他数组; 2.创建 2.1 字面量 var arr = ['ds','aa']; 2.2 new Array构造器 var arr = new Array(); var arr = new Array(10); 则表示该数组有10个空元素(只有一个值的时候表示有多少元素) var arr = new Array('a','b'); 等价于 ['a','b']; new 是可以省略的 3.数组的读写 数组元素增减 用delate可以删除元素,但是数组长度不变,其实delate之后,是设置元素的值为undefined。 arr.push(1); 在数组尾部添加元素 arr.unshift();在数组头部添加元素 delete arr[2]; 是将数组中的下标为2的元素 变成undefined 并非真正的删除 arr.pop() 删除数组的最后一个元素 arr.shift() 删除数组的第一个元素 数组迭代 for循环 for in 遍历(定义在原型上的属性也会遍历出来) 使用hasOwnProperty可以避免将原型上的属性遍历出来 for(i in arr){ if(arr.hasOwnProperty(i)) //不会遍历出原型上的元素 }查看全部
-
对象标签: [[proto]]:原型链 [[class]]:toString [[extensible]]:表示对象的属性是否可以添加。 object.preventExtensible(obj);//使obj对象不可新增属性,原属性可改、可删 Object.seal(obj);//使obj不可新增属性,原属性可改但不可删 Object.freeze(obj);//使obj不可新增属性,原属性不可更改、删除 注意,当Object.freeze(obj)后,Object.isSeal(obj)返回的也是true,也就是说,Object.isSeal(obj)返回true,其原属性也可能不可改。查看全部
-
JavaScript_2_视频查看全部
-
属性标签重复设置 对应表截图查看全部
-
return this;表示返回上下文,以此实现链式调用。manager.addClass('a')调用后,return this,返回了manager,然后.addClass('b')...实现链式调用。查看全部
-
实现继承时,Object.create()好于使用构造函数,因为不涉及构造函数的传参问题。不支持es5的情况下可用 如图右侧方法实现。查看全部
-
直接修改已经创建的实例的原型,不会影响到实例,但是针对实例原型的属性的修改和增减是会产生影响的查看全部
-
typeof null 应该等于null,但是以前修改后就导致了一堆BUG,所以为了兼容就不管他了, type of 适合基本类型及函数function的检测,如果碰到null 就用严格等于号去判断是不是null. instance of 用于判断对象类型,有没有继承关系什么的 obj instanceof Obeject ,instance 是基于原型链的判断符,期望左边操作数是个对象,右边是个函数对象或函数构造器,原理,判断左边操作数的原型链上有没有右边的prototype属性 任何一个构造函数都有一个prototype属性 instanceof 比较适用判断对象类型,比如数组啊什么的,不能用于不同window和iframe 的对象判断, object.prototype.toSring.apply([]) ;需要注意的是,当用object.prototype.toString.apply(null/undefined)的时候,ie678还是会返回object。 constructor 指向构造器,可以被改写,使用的时候要小心。 duck type 通过某些特征判断对象是否属于某些类型查看全部
-
五个基本类型:number string Boolean undefined Null javascrpt隐藏机制:当把一个基本类型以对象的形式去使用的时候,javascript会将其转换为包装类型对象,相当于new一个string .但是当操作完毕后这个临时包装对象就会被销毁查看全部
-
属性标签是否可修改查看全部
-
结合get set的对象属性设置查看全部
举报
0/150
提交
取消