JavaScript 对象

变量只能保存单一的数据,比如 姓名,年龄,性别 等,如果将一个人的多个相关信息存储在一个变量,则需要使用对象。

//将有关联的数据存储在多个变量里
var name = '章子怡';
var height = 163.5;
var age = 34;
var gender = '女'var isHealth = true;
//person的数据类型是对象,将多个数据存储在一个变量
var person = {
    name:'章子怡',
    age:34,
    gender:'女'
    isHealth:true
};
  • 对象是一个复合型的数据类型,它将多个相关联的数据值集中在一个单元中,而且与许使用名字来访问。

  • 如上对person对象定义的例子:

  • //上面说的name,height,age,gender,isHealth都是person的属性
    person.name = '章子怡';
    person.height = 163.5;
    person.age = 34;
    person.gender = '女';
    person.isHealth = true;
    

创建 JavaScript 对象

使用new关键字自定义对象

var person_zzy=new Object();
person_zzy.name="章子怡";
person_zzy.height=163.5;
person_zzy.age=34;
person_zzy.gender="女";
person_zzy.isHealth=true;

也可以直接写成下面这种形式

var person_zzy={
    name:"章子怡",
    sex:"女",
    age:34,
    height:163.5,
    isHealth:true
};

.语法 访问对象的数据

访问对象属性的语法是:

objectName.propertyName

这个例子使用了 person_zz对象的 age 属性来获得该person的年龄:

var x=person_zzy.age;

在以上代码执行后,x 的值将是:

34

JSON

  • JSON:JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是存储和交换文本信息的语法
  • JSON可以简化对象的创建方式
JSON的定义
  • 数据在名称/值对中,格式为 名称:值,例如:"name":"章子怡"
  • 数据由逗号分隔
  • 花括号保存对象
  • JSON值可以是 数字、字符串、数组、对象

这个 classmate对象是包含 3 个同学记录(对象)的数组。

{
"classmate": [
{ "Name":"章子怡" , "sex":"女" },
{ "Name":"赵薇" , "sex":"女" },
{ "Name":"陈坤" , "sex":"男" }
]
}

null

  • null表示一个空对象,“什么都没有”的意思,用来表示“无值(no value)”

  • 通常用作一个空引用一个空对象的预期,就像一个占位符。

  • //
    var obj = null;
    alert(typeof(obj));    //"object"
    alert(obj == null);    //true
    var person = {};
    alert(person == null);    //false
    
  • 可以通过将变量的值设置为 null 来清空变量。

  • var school = '火星时代';
    alert(school);
    school = null;
    alert(school);
    
  • null的数据类型是object

  • alert(typeof(null));
    

小结

Javascript 中 null,NaN和undefined的区别?

  • undefined:“没有定义”,声明了一个变量却没赋值时会返回undefined
  • typeof(undefined);    //结果为 undefined
    
  • null: “什么都没有”,空对象引用,它是javascript原始值之一

  • null === undefined     // false
    null == undefined      // true (==会强制转换类型)
    
  • NaN: "不是一个数",not a number,表示某个值不是数字。算数运算符与不是数字或无法转换为数字的操作数一起使用,或者字符串无法解析成数字时,会返回NaN

  • typeof(NaN);    //结果为Number
    var a = "thank you" * 3;    //a值为NaN
    NaN === NaN;  //false
    //NaN不等于任何值,连它本身也不等于。
    

results matching ""

    No results matching ""