javaScript对象定义

javascript几乎所有的事物都是对象
  • 布尔是对象(如果用 new 关键词定义)
  • 数字是对象(如果用 new 关键词定义)
  • 字符串是对象(如果用 new 关键词定义)
  • 日期永远都是对象
  • 算术永远都是对象
  • 正则表达式永远都是对象
  • 数组永远都是对象
  • 函数永远都是对象
  • 对象永远都是对象

所有 JavaScript 值,除了原始值,都是对象。

javascript原始值

原始值是指没有属性或方法的值,原始数据类型指的是拥有原始值的数据。

javascript定义了物种原始数据类型:
  • string
  • number
  • boolean
  • null
  • undefined

原始值是一成不变的(它们是硬编码的,因此不能改变)

x = 3.14,能够改变 x 的值。但是无法改变 3.14 的值。

类型

注释

"Hello"

string

"Hello" 始终是 "Hello"

3.14

number

3.14 始终是 3.14

true

boolean

true 始终是 true

false

boolean

false 始终是 false

null

null

(object) null 始终是 null

undefined

undefined

undefined 始终是 undefined

对象是包含变量的变量

javascript包含单个的值:

<!DOCTYPE html>
<html lang="en">
<body>
    <p id="demo"></p>
    <script>
        var person ="Rose";
        document.getElementById("demo").innerHTML=person;
    </script>
</body>
</html>
//Rose

对象也是变量,对象能够包含很多值。值按照名称 : 值对的形式编写(名称和值以冒号分隔)。

<!DOCTYPE html>
<html lang="en">
<body>
    <p id="demo"></p>
    <script>
       var person={
        firstName:"Rose",
        lastName:"Tina",
        age:20,
        color:"pick",
       }
        document.getElementById("demo").innerHTML="My person.firstName is "+person.firstName+"</br>My person.lastName is"+person.lastName+"</br>I'm "+person.age+"</br>  I like "+person.color;
    </script>
</body>
</html>
<!-- 
My person.firstName is Rose
My person.lastName isTina
I'm 20
I like pick
 -->

JavaScript 对象是命名值的集合。

对象属性

JavaScript 对象中的命名值,被称为属性

属性

firstName

Bill

lastName

Gates

age

62

eyeColor

blue

创建 JavaScript 对象

能够定义和创建自己的对象。

有不同的方法来创建对象:

  • 定义和创建单个对象,使用对象文字。
  • 定义和创建单个对象,通过关键词 new。
  • 定义对象构造器,然后创建构造类型的对象。

在 ECMAScript 5 中,也可以通过函数 Object.create() 来创建对象

使用对象字面量

这是创建对象最简答的方法。

使用对象文字,您可以在一条语句中定义和创建对象。

对象文字指的是花括号 {} 中的名称:值对(比如 age:20)。

下面的例子创建带有四个属性的新的 JavaScript 对象:

<!DOCTYPE html>
<html lang="en">
<body>
    <p id="demo"></p>
    <script>
        //创建对象
        var person={firstName:"Rose",lastName:"Tina",age:20,color:"粉色"};
        //显示对象中的数据
        document.getElementById("demo").innerHTML=person.firstName+person.lastName+"现在 "+person.age+"岁,她非常喜欢"+person.color;
    </script>
</body>
</html>
//RoseTina现在 20岁,她非常喜欢粉色

空格和折行不重要。对象定义可横跨多行:

<!DOCTYPE html>
<html>

<body>

    <p id="demo"></p>

    <script>
        // 创建对象:
        var person = {
            firstName: "Rose",
            lastName: "Tina",
            age: 20,
            eyeColor: "粉色"
        };

        // 显示对象中的数据:
        document.getElementById("demo").innerHTML =
            person.firstName + " 现在是 " + person.age + " 岁了。";
    </script>

</body>

</html>
Rose 已经 20 岁了。

使用 JavaScript 关键词 new

创建了带有四个属性的新的 JavaScript 对象

<!DOCTYPE html>
<html lang="en">

<body>
    <p id="demo"></p>
    <script>
        var person = new Object();
        person.firstName = "Rose";
        person.lastName = "Tina";
        person.age = 20;
        person.color = "blue"
        document.getElementById("demo").innerHTML =
            person.firstName + " is " + person.age + " years old.";  
    </script>
</body>

</html>
//Rose is 20 years old.

无需使用 new Object()简易性、可读性和执行速度的考虑,请使用第一种创建方法(对象文字方法)。

JavaScript 对象是易变的

对象是易变的:它们通过引用来寻址,而非值。

如果 person 是一个对象,下面的语句不会创建 person 的副本:

var x = person;  // 这不会创建 person 的副本。

对象 x 并非 person 的副本。它就是 person。x 和 person 是同一个对象。

对 x 的任何改变都将改变 person,因为 x 和 person 是相同的对象。

实例

<!DOCTYPE html>
<html>

<body>

    <p id="demo"></p>

    <script>
        var person = { firstName: "Bill", lastName: "Gates", age: 62, eyeColor: "blue" }

        var x = person;
        x.age = 10;

        document.getElementById("demo").innerHTML =
            person.firstName + " is " + person.age + " years old.";
    </script>

</body>

</html>
//Bill is 10 years old.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值