该方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
var obj = {name:'jack'}obj.hasOwnProperty('name')// -->true
obj.hasOwnProperty('toString')// -->false
正确使用判断对象是否存在应该用:if($("#id").length>0){}else{}使用jQuery 对象的属性 length 来判断,如果 >0 就存在。或者 if($("#id")[0]){} else {} 或者直接使用原生的 Javascript 代码来判断: if(document.getElementByIdx_x_xx_x("id")){} else {}或者var g = document.getElementByIdif (g('addrId_324') != null) { //判断是否存在这个id号,不存在则为null g('addrId_' + selAddressId).className = ''} JQuery 判断某个属性是否存在 hasAttr在JQuery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new"的样式呢.JQuery判断就非常简单了,因为有hasClass这个方法 $("input[name=new]").hasClass("new") 即可判断.这时就没有现成的方法了. 如果存在某个属性 $("#aid").attr("rel") 会返回 rel的值,如果不存在 rel属性则会返回"undefined"undefined 就是 undefined类型 , if($("#aid").attr("rel")=="undefined") 这个判断可能不成立.因为类型不相同.建议使用 if(typeof($("#aid").attr("rel"))=="undefined") 即可判断JS对象是否拥有某属性两种方式,但稍有区别1,in 运算符123varobj = {name:'jack'}alert('name'inobj)// -->truealert('toString'inobj)// -->true可看到无论是name,还是原形链上的toString,都能检测到返回true。 2,hasOwnProperty 方法?123varobj = {name:'jack'}obj.hasOwnProperty('name')// -->trueobj.hasOwnProperty('toString')// -->false原型链上继承过来的属性无法通过hasOwnProperty检测到,返回false。可以参考下面的两种方法:
1、直接判断对象不为null
if (!myObj) {
var myObj = { }
}
Javascript语言是"先解析,后运行",解析时就已经完成了变量声明
2、使用window对象判断某对象是否存在
if (!window.myObj) {
var myObj = { }
}
扩展资料:
javascript函数
charCodeAt(index)返回一个整数,该整数表现String对象中指定位置处的字符的Unicode编码
concat(string2)衔接两条或少条字符串
fromCharCode(num1, num2, …,BB霜, numN)获取指定的Unicode值并返回字符串
indexOf(searchString, startIndex) 返回字符串中第一个呈现指定字符串的地位
lastlndexOf(searchString, startIndex) 返回字符串中最后一个呈现指定字符串的地位
match(regex) 在字符串中查觅指定值
参考资料来源:百度百科-javascript
参考资料来源:百度百科-JavaScript 函数