ການກໍ່ສ້າງໂອກາດ JavaScript

在 JavaScript 中,对象是王。如果您理解了对象,就理解了 JavaScript。

在 JavaScript 中,几乎“所有事物”都是对象。

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

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

JavaScript 原始值

原始值指的是没有属性或方法的值。

原始数据类型指的是拥有原始值的数据。

JavaScript 定义了 5 种原始数据类型:

  • 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 变量能够包含单个的值:

ບົດສະຫຼຸບ

var person = "Bill Gates";

ທ່ານສາມາດສະແດງຕົວເອງຢ່າງດີ.

对象也是变量。但是对象能够包含很多值。

值按照名称 : 值对的形式编写(名称和值以冒号分隔)。

ບົດສະຫຼຸບ

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

ທ່ານສາມາດສະແດງຕົວເອງຢ່າງດີ.

JavaScript 对象是命名值的集合。

对象属性

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

属性
firstName Bill
lastName Gates
age 62
eyeColor blue

以名称值对书写的对象类似于:

  • PHP 中的关联数组
  • Python 中的字典
  • C 中的哈希表
  • Java 中的哈希映射
  • Ruby 和 Perl 中的散列

对象方法

方法是可以在对象上执行的动作

对象属性可以是原始值、其他对象以及函数。

对象方法是包含函数定义的对象属性。

属性
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

JavaScript 对象是被称为属性和方法的命名值的容器。

您将在下一章中学到更多有关方法的知识。

创建 JavaScript 对象

通过 JavaScript,您能够定义和创建自己的对象。

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

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

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

使用对象字面量

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

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

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

ບັນທັດຕໍ່ມາກໍ່ຈະສ້າງອົງການ JavaScript ໃຫມ່ທີ່ມີຜະລິດຕະພັນສີ່ອັນ:

ບົດສະຫຼຸບ

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

ທ່ານສາມາດສະແດງຕົວເອງຢ່າງດີ.

ບໍ່ມີຄວາມສໍາຄັນຂອງຈຸດສັດແລະການຍົກເປົ່າ. ການກໍານົດອົງການສາມາດຖອຍໄປຫລາຍຫົວໜ້າ:

ບົດສະຫຼຸບ

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

ທ່ານສາມາດສະແດງຕົວເອງຢ່າງດີ.

ໃຊ້ສິນລະຫັດ JavaScript new

ບັນທັດຕໍ່ມາກໍ່ຈະສ້າງອົງການ JavaScript ໃຫມ່ທີ່ມີຜະລິດຕະພັນສີ່ອັນ:

ບົດສະຫຼຸບ

var person = new Object();
person.firstName = "Bill";
person.lastName = "Gates";
person.age = 50;
person.eyeColor = "blue"; 

ທ່ານສາມາດສະແດງຕົວເອງຢ່າງດີ.

ບໍ່ຕ້ອງໃຊ້ new Object()

ສຳລັບຄວາມຫົວຂໍ້, ຄວາມອ່ອນທາງ ແລະ ຄວາມຄົບຖ້ວນຂອງການດຳເນີນ, ຂໍ້ສັງເກດຄົບຖ້ວນທີ່ທຳອິດ (ວິທີການຂອງອິດສະຫຼະພາບ).

ອັນໂຕອິດສະຫຼະພາບ JavaScript

ອັນໂຕອິດສະຫຼະພາບແມ່ນທີ່ປ່ຽນແປງ: ພວກມັນຫາງຈາກອິດສະຫຼະພາບອີກອັນໜຶ່ງທີ່ບໍ່ພົບ

ຖ້າ person ແມ່ນອັນໂຕອິດສະຫຼະພາບ,ຄຳສັ່ງດັ່ງລຽງຈະບໍ່ສ້າງຄຳນວຍຂອງ person:

var x = person;  // ນີ້ຈະບໍ່ສ້າງຄຳນວຍຂອງ person

ອັນໂຕ x ບໍ່ແມ່ນ ສະໜອງຂອງ person.ນັ້ນແມ່ນ person.x ແລະ person ແມ່ນອັນໂຕດຽວ

ການປ່ຽນແປງໃດໆຂອງ x ຈະປ່ຽນແປງ person,ຍ້ອນ x ແລະ person ແມ່ນອັນໂຕດຽວ

ບົດສະຫຼຸບ

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"}
var x = person;
x.age = 10;           // ນີ້ຈະປ່ຽນແປງ x.age ແລະ person.age ທັງສອງ

ທ່ານສາມາດສະແດງຕົວເອງຢ່າງດີ.

ບັນທຶກ:ທີ່ສະແດງ JavaScript ບໍ່ແມ່ນທີ່ມີຄວາມປ່ຽນແປງ. ພຽງແຕ່ອັນໂຕອິດສະຫຼະພາບ JavaScript.