js判断对象中是否有某个key

JavaScript014

js判断对象中是否有某个key,第1张

obj['key'],点"."

1 .出现的bug,如果这个key的值是false,这里就会判断没有,或者value是undefined也一样

2 .可以看到这俩都不行

3 .如果对象上不存在改属性,则会返回undefined.这种方式可以判断对象的自由属性和继承属性.如果对象自身没有检测的属性,而原型链上有该属性,就会返回原型链上的属性值

1 .返回一个布尔值,指示对象自身属性是否有指定的属性

2 .原型链上的不会被访问到,和in不同,会忽略到从原型链上继承到的属性

3 .即使属性的值是null,undefined,只要属性存在,hasOwnProperty依旧会返回true

4 .注意:这个方法没有被保护,也就是说方法可以自定定义一个这样的方法,来让他的返回值永远是true或者false

1 .!!('work' in obj)

2 .如果指定的属性在指定的对象或其原型链中,则in 运算符返回true

3 .使用delete删除的属性返回false

4 .值为undefined的属性是可以的

1 .和in方法完全一样,但是第一个参数不是对象会报错

2 .这个方法更加形象

3 .原型链上的方法同样可以会返回true

1 .判断指定名称的属性是否为实例属性并且是可枚举的.

2 .

1 .也就是说,判断自身属性的时候用除了in的所有方法,判断继承属性使用in

2 .

JS判断字符串包含的方法具体如下:1. 例子:var tempStr = "tempText" var bool = tempStr.indexOf("Texxt")//返回大于等于0的整数值,若不包含"Text"则返回"-1。if(bool>0){document.write("包含字符串")}else{document.write("不包含字符串")}2. indexOf用法:strObj.indexOf(subString[, startIndex])JavaScript中indexOf函数方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串, 则返回 -1。如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。参数:strObj : 必选项,String 对象或文字。subString :必选项,要在 String 对象中查找的子字符串。starIndex :可选项,该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找;如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。3. 与lastIndexOf的区别:lastIndexOf() 方法则是从字符串的结尾开始检索子串。

判断js 验证字符串里面有没有包含汉字:

1、用正则表达式判断

function CheckChinese(obj,val){

var reg = new RegExp("[\\u4E00-\\u9FFF]+","g")

if(reg.test(val)){alert("包含汉字!")}

}

2、用 Unicode 字符范围判断

function chkstrlen(str){

var strlen = 0

for(var i = 0i <str.lengthi++){

if(str.charCodeAt(i) >255) //如果是汉字,则字符串长度加2

strlen += 2

else

strlen++

}

return strlen

}