1.判断一个属性是对象(obj)私有的不是继承来的用
obj.hasOwnProperty('name');
2、字符串操作方法
toUpperCase();//把一个字符串全部变为大写
toLowerCase();//小写;
indexOf();//指定字符串出现位置
substring();//返回指定索引区间的子串;
3、数组常用操作方法:
indexOf//同string;
slice(起始,结束)//同substring,不包含末尾位置
push()//向Array的末尾添加若干元素,
pop()//则把Array的最后一个元素删除掉
unshift()//往Array的头部添加若干元素
shift()//方法则把Array的第一个元素删掉:
sort()//可以对当前Array进行排序,它会直接修改当前Array的元素位置,直接调用时,按照默认顺序排序;
reverse()//把整个Array的元素给掉个个,也就是反转:
splice()//方法是修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素;
concat()//方法把当前的Array和另一个Array连接起来,并返回一个新的Array;
join()//方法是一个非常实用的方法,它把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串;
4、去重常用两个方法
var arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
var sortArr=arr.filter(function(val,key,arr){
return arr.indexOf(val)===key;
})
//console.log(sortArr);
function changeArr(arr){
var obj={};
var newArr=[];
for(var i=0; i<arr.length;i++){
if(!obj[arr[i]]){
newArr.push(arr[i]);
obj[arr[i]]=true;
}
}
return newArr;
}
//console.log(changeArr(arr));
5、数据类型转换常用规则:
不要使用
new Number()
、new Boolean()
、new String()
创建包装对象;用
parseInt()
或parseFloat()
来转换任意类型到number
;用
String()
来转换任意类型到string
,或者直接调用某个对象的toString()
方法(null\undefind不行,number要加括号(123).toString());通常不必把任意类型转换为
boolean
再判断,因为可以直接写if (myVar) {...}
;typeof
操作符可以判断出number
、boolean
、string
、function
和undefined
;判断
Array
要使用Array.isArray(arr)
;判断
null
请使用myVar === null
;判断某个全局变量是否存在用
typeof window.myVar === 'undefined'
;函数内部判断某个变量是否存在用
typeof myVar === 'undefined'
。