js 数组与对象

JSON 与 JS 对象的关系

很多人搞不清楚 JSON 和 Js 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
1
var  obj = {a:  'Hello' , b:  'World' };  //这是一个对象,注意键名也是可以使用引号包裹的
1
var  json =  '{"a": "Hello", "b": "World"}' //这是一个 JSON 字符串,本质是一个字符串

JSON 和 JS 对象互转

要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:
1
var  json = JSON.stringify({a:  'Hello' , b:  'World' });  //结果是 '{"a": "Hello", "b": "World"}'
要实现从 JSON 转换为对象,使用 JSON.parse() 方法:
1
var  obj = JSON.parse( '{"a": "Hello", "b": "World"}' );  //结果是 {a: 'Hello', b: 'World'}


JavaScript中可以使用一个未声明过的变量,同样,也可以使用一个未定义的数组元素(指索引超过或等于length的元素),这时,length属性的值将被设置为所使用元素索引的值加1

var arr=[12,23,5,3,25,98,76,54,56,76];//这么定义js数组是一种方式,这是直接创建数组方式

alert(arr.length);

arr[15]=34;

alert(arr.length);

var mycars = new Array() //这也是js数组定义的一种方式,这是通过函数方式创建
mycars[0] = "Saab";
mycars[1] = "Volvo";
mycars[2] = "BMW";

JavaScript里边,没有类的概念,和数组一样,可以直接创建一个对象(或通过函数)出来,对象可以有默认成员,后期也可以给对象丰富成员出来

var  obj ={ 名称:值,名称:值,......}该方式创建出来对象的结构与json数据完全一致,创建对象时, 名称 是否使用引号括起来都可以

对象访问成员: 对象.成员名称

给对象丰富成员: 对象.成员名称 = 值; 对象[成员名称] =值,第二种方式丰富对象成员,可以是变量

对象调用全局环境的其他函数

function getInfo() {
    console.log('在爬树');
}
var cat ={ name:'kitty' };
cat.pa = getInfo;//增加一个成员,并把getInfo函数的指引给他
//cat.pa =getInfo()-----这样是把getInfo()执行结果给pa成员了
cat.pa();//这样就是调用了getInfo函数了
</script>

call和apply使得函数执行的时候可以控制变量污染的风险(对象调用其他函数/方法的时候,无需为对象创建新成员)

被调用的函数/方法.call(调用者,实参。。。。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值