什么时候对数组使用 hasOwnProperty?
When would you use hasOwnProperty on an array?
刚刚看到一个例子,代码如下:
var schemaSet:Array = currentScope();
if (schemaSet.hasOwnProperty("current"))
schema = schemaSet["current"];
我以前从未见过这个。我检查了 as3 文档,但没有找到任何相关信息。注意:此代码来自 Adobe 员工编写的 SchemaManager.currentSchema()。
您会在何时何地使用它?这是否优于或等同于:
if (schemaSet.indexOf("current")!=-1)
有两种类型的数据:
普通数组,只包含值,键是数字,从0开始。
还有对象,其中每个元素都有一个字符串(也可以是数字)键。
如果你想检查一个数组是否包含一个值,你将使用 .indexOf() 方法。
var myArray = ["a", "b", "c"];
if (myArray.indexOf("a") > -1) return true;
如果你想检查一个对象是否有一个带有特定键的元素,那么你将使用 hasOwnProperty() 方法。
var myObject = {a: "letter a", b: "letter b"}
if (myObject.hasOwnProperty("a")) return true;
刚刚看到一个例子,代码如下:
var schemaSet:Array = currentScope();
if (schemaSet.hasOwnProperty("current"))
schema = schemaSet["current"];
我以前从未见过这个。我检查了 as3 文档,但没有找到任何相关信息。注意:此代码来自 Adobe 员工编写的 SchemaManager.currentSchema()。
您会在何时何地使用它?这是否优于或等同于:
if (schemaSet.indexOf("current")!=-1)
有两种类型的数据:
普通数组,只包含值,键是数字,从0开始。
还有对象,其中每个元素都有一个字符串(也可以是数字)键。
如果你想检查一个数组是否包含一个值,你将使用 .indexOf() 方法。
var myArray = ["a", "b", "c"];
if (myArray.indexOf("a") > -1) return true;
如果你想检查一个对象是否有一个带有特定键的元素,那么你将使用 hasOwnProperty() 方法。
var myObject = {a: "letter a", b: "letter b"}
if (myObject.hasOwnProperty("a")) return true;