相关疑难解决方法(0)

如何检查对象是否在JavaScript中具有属性?

如何检查对象是否在JavaScript中具有属性?

考虑:

x = {'key': 1};
if ( x.hasOwnProperty('key') ) {
    //Do this
}
Run Code Online (Sandbox Code Playgroud)

这是最好的方法吗?

javascript

1396
推荐指数
20
解决办法
90万
查看次数

如何使用包含属性名称的变量检查对象属性是否存在?

我正在检查是否存在一个对象属性,其中包含一个保存有问题的属性名称的变量.

var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};
Run Code Online (Sandbox Code Playgroud)

这是undefined因为它正在寻找,myObj.myProp但我希望它来检查myObj.prop

javascript object

619
推荐指数
8
解决办法
60万
查看次数

本机对象和宿主对象之间有什么区别?

后者是否只是引用由自定义构造函数创建的非原始函数对象(例如,var bird1 = new Bird();)?

javascript

84
推荐指数
3
解决办法
4万
查看次数

有没有办法用jquery读出图像的"naturalWidth"?

我尝试过这样的事情:

var Height = $(this).naturalHeight;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.有没有办法做到这一点

greez

jquery

17
推荐指数
3
解决办法
4万
查看次数

如何在Array.prototype和Object.prototype上的javascript中定义方法,以便它不会出现在for循环中

我想在Array.prototype和Object.prototype上定义辅助方法.我目前的计划是做类似的事情:

Array.prototype.find = function(testFun) {
   // code to find element in array
};
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

var arr = [1, 2, 3];
var found = arr.find(function(el) { return el > 2; });
Run Code Online (Sandbox Code Playgroud)

它工作正常,但如果我在循环中循环数组,for in方法显示为值:

for (var prop in arr) { console.log(prop); }
// prints out:
// 1
// 2
// 3
// find
Run Code Online (Sandbox Code Playgroud)

这将搞砸任何依赖于for in显示值的人(尤其是对象).更高版本的javascript具有内置于数组中的.map和.filter函数,但这些函数不会出现在for in循环中.如何创建更多不会出现在for in循环中的方法?

javascript function

12
推荐指数
2
解决办法
9907
查看次数

为什么是Object.defineProperty()而不是this.defineProperty()(对象)?

我正在研究一个JavaScript项目,只是想知道为什么对象实例不继承defineProperty()和其他方法,而不是必须调用超类(superobject?)Object方法.

我查看了MDN文档,实际上有"非标准"属性方法.

但那些被弃用了.为什么要采取这些Object方法呢?

在我看来,像是instance.defineProperty(...)更好的东西Object.defineProperty(instance, ...).我也会对其他一些Object方法说同样的话.

javascript ecmascript-5

8
推荐指数
2
解决办法
2683
查看次数

标签 统计

javascript ×5

ecmascript-5 ×1

function ×1

jquery ×1

object ×1