码迷,mamicode.com
首页 > 编程语言 > 详细

javascript笔记

时间:2016-01-20 13:01:06      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

将数组清空的一个有效办法,就是将数组的length属性设为0。
例如:下面代码输出的值是什么?
var arr = [];

arr["p"] = "abc";
console.log(arr.length); //0

arr[2.1] = "abc";
console.log(arr.length);//0

数组与对象的关系

我们已经知道,数组也属于对象,而且是字典结构(dictionary)的一个变种。
数组的特殊性表现在,它的键默认是按照次序排列的整数(0,1,2...),所以数组不用为每个元素制定键名,而对象的每个成员都必须指定键名。
此外,对象以字符串来识别键名,非字符串的键名会被转换为字符串,所以使用数值或字符串作为键名,都能读取数组中的成员。

例如:

var arr = [‘a‘, ‘b‘, ‘c‘];
 
arr[‘0‘]    // ‘a‘
arr[0]    // ‘a‘

 需要注意的是,这一条在赋值时也成立,即如果一个值可以被转换为整数,则以该值为键名,等于以对应的整数位键名。

例如:
var arr = [];
 
arr[‘1000‘] = ‘abc‘;
arr[1000]    // ‘abc‘
 
arr[1.00] = 6;
arr[1]    // 6
可以看出,由于字符串“1000”和浮点数1.00都可以转换成整数,所以直接会被视为整数键赋值。
另外值得一提的是,对于数字的键名,不能使用点结构来读取,arr.0的写法是不合法的,因为单独的数字不能作为标识符。
所以,数组成员只能用方括号arr[0]表示。
 in运算符
检查某个键是否存在的运算符in,适用于对象,也适用于数组。
技术分享
使用for-in循环,可以遍历数组的所有键,即使是非数字键。
var arr = [1, 2, 3];
arr.foo = true;
 
for(var key in arr){
    console.log(key);
}
// 0 1 2 foo
另一种遍历的做法就是用for循环或者while循环结合length属性。
技术分享
对象(Object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据类型都可以被视为对象。
 
所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。
技术分享
大括号定义了一个对象,它被赋值给变量o,内部包含一对键值对(成员),p是“键名”(成员的名称),字符串“Hello”是“键值”(成员的值)。
 
键名与键值之间用冒号分割。如果有多个键值对,每个键值对之间用逗号分隔。
 
键名
键名加不加引号都可以,前面的代码也可以写成这样:
技术分享
但需要注意键名如果不符合标识名的条件,也不是正整数,则必须加上引号。
生成方法
 
对象的生成方法,通常有三种:
技术分享
这三句是等价的。
一般来说,第一种采用大括号的写法比较简洁,第二种采用构造函数的写法清晰表示了意图,第三种写法一般用在需要对象继承的场合。
 对象的引用
如果不同的变量名指向同一个对象,那么它们都是这个对象的引用,也就是说指向同一个内存地址。修改其中一个变量,会影响到其他所有变量。
技术分享
上面代码中,obj1和obj2指向同一个对象,因此为其中任何一个变量添加属性,另一个变量都可以读写该属性。
不过,这种引用只局限于对象,对于原始类型的数据则是传值引用,也就是值的拷贝。
 使用prompt()来获取输入内容
console.log("请问女神芳名?");
var myText=prompt();   //将prompt的方法的返回值赋给了myText
console.log("我的梦中女神:"+myText);

 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

javascript笔记

标签:

原文地址:http://www.cnblogs.com/gugibv/p/5144545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!