js入门教 for/in 数组_Object属性和方法

上篇文章讲了js中的变量,表达式,和运算符 还有一些 js 语句.

这章我们来探讨js中的对象和数组。 

比较难哦。做好心里准备吧。。。。。。 深呼吸。。。

1 , for  /  in :

一种遍历(枚举)对象属性的方法,可以循环我们呢事先不知道的属性。

它可以枚举处用户定义的所有属性,但却不能枚举出某些预定义的属性和方法。

不能枚举的属性通常是继承的属性

删除一个对象的属性:

 delete book.width ;

从对象中移除了属性,在删除之后,用for/in将不会枚举该属性,并且用width in book 也检测不到该属性。

for/in 的另一个重要的用途就是跟关联数组一起使用:(如果忘记关联数组的定义,可以看前面的章节。)

for(stoct  in  port ){

    value +  = get_value(stoct)  *   port[stoct]  ; 

}

2 , 通用的Object属性和方法:

1):constructor属性:

每个对象都有这个属性,他引用了初始化这个对象的构造函数。

比如:

  var d =new Date();  //使用Date()构造函数,创建一个对象 d;

   d.constructor ==Date;   //true    //属性d.constructor引用 Date ;

这个属性有助于确定一个对象的类型;

比如:

我们想确定一个值的类型是否是Date 类型:

If((typeof o==”object” )&& (o.constructor==Date)){

 //  首先看是否是对象,然后看是否引用Date

}

上面的代码也可以写成:

If((typeof o==”object” )&& (o   instanceof   Date)){

 //  instanceof 运算符 来检测o.constructor 属性的值。

}

3 , toStirng()和toLocaleString()方法:

1):toLocaleStirng() 返回对象的一个本地化字符串。

toString和toLocaleString一般都返回相同,但在子类中,有点区别:

比如:

Array , Date和Number都定义了返回本地化的值的toLocaleString()方法.

4 , hasOwnProperty()和propertyIsEnumerable()方法:

1):hasOwnProperty

var a = { x : 1  , y : 2};

var k =a.hasOwnProperty("x");

alert(k)  //true

alert( Math.hasOwnProperty("z") );//false

alert( Math.hasOwnProperty("cos") );//true  

注:Math,cos() : 以弧度为单位计算并返回指定角度的余弦值。

propertyIsEnumerable()跟返回的结果跟hasOwnProperty()相同;

4 ,isPrototypeOf()方法:

如果方法所属的对象是参数的原型对象。

var a = { x : 1  , y : 2};

var k1= Object.prototype.isPrototypeOf(a);       //  o.constructor = Object

var k2= Object.prototype.isPrototypeOf(Function);   //  Function.constructor = Object

alert(k1) //true

alert(k2) //true

5,数组:

1)创建数组:

数组直接量:

var es = [ ] ;

复杂点 var es = [ [ 1, {x:1   , y : 2}] , [ 2, {x:3  , y : 4}]  ];

还有一种方式:使用Array() 构造函数:

时间: 2024-10-28 03:19:07

js入门教 for/in 数组_Object属性和方法的相关文章

js入门教 for/in 数组_Object属性和方法三

10,数组的一些方法:  1):join() 方法: 把一个数组的所有元素都转换成字符串. 比如:var  a  = [1,2,3];     var s =   a.join();   // 输出 s==1,2,3  当然也可以 指定一个分隔符: 比如;    s = a.join(",");   这个方法跟String.split()相反, split()将一个字符串分割成几个片段来创建数组: 2):reverse () 方法:  把一个数组颠倒.      var  a   = 

js中常用的对象—数组的属性和方法

今天说一下,js中常用的内置对象--Array对象 Array常用属性: length prototype :给系统对象添加属性和方法 Array常用方法: Array.prototype.sum = function(){for(i=0;i<this.length;i++){}} 例子  代码如下 复制代码 实例1 <html> <body> <script type="text/javascript"> var mycars = new A

C#中数组的属性和方法(续)

一. C#数组的属性 一维数组和多维(二维以上)的数组的属性和方法都是差不多的,主要是在数组的方法上有些参数的不一致,现在我们先看下一维数组的有关属性: int[] myint = new int[5]; for (int x = 1; x <= 5; x++) myint[x - 1] = x; Console.WriteLine("显示数组中的数据"); for (int i = 1; i <= 5; i++) Console.WriteLine("第{0}个

JS设置网页图片vspace和hspace属性的方法_javascript技巧

本文实例讲述了JS设置网页图片vspace和hspace属性的方法.分享给大家供大家参考.具体分析如下: hspace可以以像素为单位,指定图像左边和右边的文字与图像之间的间距:vspace 值则是上面的下面的文字与图像之间的距离的像素数 <!DOCTYPE html> <html> <head> <script> function setSpace() { document.getElementById("compman").hspac

js入门教程一(JavaScript在Ajax中的作用范例)

js入门教程一(网页特效在ajax中的作用范例) <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title> new document </title> <style type="text/css教程"> <!-- dl   { background-color:#000;colo

求助,asp.net中,js调com组件出现不支持属性或方法

问题描述 现在需要在js中调用C#的dll,查询网上的资料后说需要编写com组件,于是先写了个简单的com组件做测试,但是asp.net中的js调用时一直报错"对象不支持属性或方法"代码是这样的接口:[ComVisible(true)][Guid("2CBD3D76-35F1-4f9d-9C1B-9DBFEE412F76")]publicinterfaceIHello{stringShowHello();}接口的实现[ComVisible(true)][Guid(&

js错误:对象不支持此属性或方法

对象不支持此属性或方法 错误原因: 可能是js的文件名和另外一个文件重复. 也有可能是js里的function和另外一个function名字重复. 也有可能是js里的function和页面的某一元素重名. 解决方法:不要把js函数名和页面元素名命名为相同的名称,每个函数或者每个页面元素有一个唯一的名称或ID 在项目过程中遇到调用一个方法老是弹出:对象不支持此属性或方法解决思路:有可能是变量没有加上var 定义变量!   无法获取未定义或 null 引用的属性 有时候是要确定操作顺序的,根据代码控

JS中取二维数组中最大值的方法汇总_javascript技巧

在JavaScript中可以通过内置的 Math.max() 的最大值,但是要从多重数组中取出最大值,还是有一定的难度. 问题描述 假设你有一个数组,而且这个数组中包含了数字的子数组,而我们要做的是从数组中的每个子数组中返回其最大的那个最大数. 基本解决方案 function largestOfFour(arr) { var results = []; // 创建一个results变量来存储 // 创建一个外层循环,遍历外层数组 for (var n = 0; n < arr.length; n

js动态修改input输入框的type属性(实现方法解析)_javascript技巧

需要实现的效果:一个输入框,当输入框未获得焦点的时候,value 值为 "密码":当输入框失去焦点的时候,输入内容显示为"*****" <input name="password" type="text" id="showPwd" tabindex="2″ class="input" value="密码" /> 我们很直接会想到下面的js $(&