js 数组与对象

来源:互联网 发布:js点击按钮旋转图片 编辑:程序博客网 时间:2024/05/19 19:44

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(调用者,实参。。。。)

原创粉丝点击