JavaScript -- 对象

来源:互联网 发布:梯度下降算法 matlab 编辑:程序博客网 时间:2024/06/08 16:14

JavaScript 对象


JavaScript 对象是拥有属性和方法的数据。类似 Object-c 的类对象。


真实生活中的对象,属性和方法

真实生活中,一辆汽车是一个对象。
对象有它的属性,如重量和颜色等,方法有启动停止等:

property method car.name = Fiat car.start() car.model = 500 car.stop() car.weight = 850kg car.drive() car.color = white car.brake()

所有汽车都有这些属性, 但是每款车的属性都不尽相同。


所有汽车都拥有这些方法, 但是它们被执行的时间都不尽相同。


JavaScript 对象

在所有面向对象的计算机语言中,几乎所有的事物都是对象,JavaScript也不例外。

在 JavaScript 中,对象是非常重要的,当你理解的面向对象的思想,就可以了解JavaScript。

我们可以通过 JavaScript 变量的赋值,为JavaScript对象赋值。

 //以下代码为变量 car 设置值为 "Fiat" : var car = "Fiat";  //对象也是一个变量,但对象可以包含多个值(多个变量)。 var car = {type:"Fiat", model:500, color:"white"};

在以上实例中,3 个值 (“Fiat”, 500, “white”) 赋予变量 car。
在以上实例中,3 个变量 (type, model, color) 赋予变量 car。

JavaScript 对象是变量的容器。

对象定义

你可以使用字符来定义和创建 JavaScript 对象:

    var person = {fristName : "Jerry", lastName : "Doe", age : 25, eyeColor : "blue"};

其中 定义JavaScript对象可以跨越多行, 空格跟换行不是必须的。

对象属性

可以说 “JavaScript 对象是变量的容器”。

但是,我们通常认为”JavaScript”对象是键值对的容器。

键值对通常写法为 ** key : value** (键与值以冒号分割),键值对的存在。

类似的键值对的写法类似于:

  • PHP 中的关联数组
  • OC/Swift 中的字典
  • C 语言中的哈希表
  • Java 中的哈希映射
  • Ruby 和 Perl 中的哈希表

访问对象属性

你可以通过两种方式访问对象属性:

    person.lastName;    person[lastName];

JavaScript函数


函数是由事件驱动或者当它被调用时执行的可重复使用的代码块。

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionName (){    //执行代码}

当调用改函数时,会执行函数内的代码。

可以再某件事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

JavaScript 对大小写敏感。关键词function 必须是小写的,并且必须以函数名称相同的大小写开调用函数。


调用带参数的函数

在调用函数时, 可由向函数传递值,这些值被称为参数。

这些参数可以在函数中使用。

可以发送任意多的参数,由逗号(,)分隔

myFunction(argument1, argument2)

当声明函数时,请把参数作为变量来声明:

function myFunction(var1, var2){    //代码}

示例

<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button><script>function myFunction(name,job){    alert("Welcome " + name + ", the " + job);}</script>

带有返回值的函数

有时,我们会希望函数将值返回调用它的地方。

通过使用 return 语句就可以实现。

在使用 return 语句时, 函数会停止执行,并返回指定的值。

 function myFunction(){      var x=5;      return x;}

注意: 整个 JavaScript 并不会停止执行,仅仅是函数。JavaScript 将继续执行代码,从调用函数的地方。函数调用将被返回值取代:

var myVar = myFunction()

myVar 变量的值是 5,也就是函数 “myFunction()” 所返回的值。即使不把它保存为变量,也可以使用返回值:

document.getElementById("demo").innerHTML=myFunction();

局部 JavaScript 变量

在 JavaScript 函数内部声明的变量(使用var)是局部变量,所以只能在局部访问他。(该变量的作用域是局部的)。

您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。只要函数运行完毕,本地变量就会被删除。


全局 JavaScript 变量

在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。


JavaScript 变量的生存期

JavaScript 变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除。

全局变量会在页面关闭后被删除。


向未声明的 JavaScript 变量分配值

如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。这条语句:

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

0 0