首页 > 代码库 > javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象
javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象
对象字面量 JSON
var obj = { aaa :999};
var json={"aaa":999,“bbb”:888};
”kay“:value
对象字面2??定义方法和json很像,只有一点不同,json的key 必须加“” ;
对象,数组也可以作为键值
JSON的组成
Javascript Object Notation 对象字面量的一种表现形式 ;
键名必须有双引号“”包围 ;
为什么用JSON :对于AJAX应用程序来说,JSON比XML更快更易使用 ;
JSON语法规则:JSON语法是Javascript对象表示语法的子集:
a、数据在名称/值对中
b、数据由逗号分开
c、花括号保存对象
d、方括号保存数组
JSON的值可以是:
a 、 数字(整数或浮点数)
b、 字符串(在双引号中)
c、 逻辑值(true或false)
d、数组 (在方括号中)
e、对象(在花括号中)
f、 null
for…in..遍历对象
- 由于对象本身没有length属性,所以不能用for循环遍历
1. var json = { //创建一个对象
"name" : "赵四",
"sex" : "男",
"sayHi" : function (){
console.log(json.name + ",你好!");
}
}
for (var key in json){
console.log(key);//打印键名,不打印键值
console.log(json[key]);//打印键值
}
伪代码:类
- 强类型语言是用class定义对象
- JS的ES6提到了class
传值和传址
一、简单类型数据做参数,函数内部对参数的修改不应影响外部变量
简单类型传数值。
简单数据类型保存在栈中
变量保存的事数据本身/函数调用传递的是值不是地址/压栈,先进后出/地址值:哈希值
二、复杂类型数据做参数,函数内部对参数的修改会应影响外部变量
复杂类型传地址。
简单数据类型保存在堆中
变量保存的事数据的地址
var num =1; fun(num); console.log(‘+++‘ + num ); function fun(a) { a = a *20 ; console.log(a); } var arr = [1,2,3]; fun1(arr); console.log(arr); function fun1(array) { //arr和array是指向的同一个内存地址 // 函数修改array地址内的内容,arr的内容同时也被修改 array[0] = 2; console.log(array) ;
内置对象
- JS中已经定义好的对象。创建之后可直接使用
- Date、Array、Math、Regexp(正则表达式)、Error、String、Number
- 主要学习内置对象的API,H5的方法
a) 调用者:有无调用者
b) 参数:有无,几个
c) 功能:干什么用的
d) 返回值:有无,什么类型
- 学习方法:手册,MDN
- API:应用程序接口
javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象