JavaScript对象拥有属性和方法的数据。
JavaScript对象
生活中的对象、属性和方法
生活中,一辆汽车就是一个对象。
对象拥有属性,例如重量、颜色、尺寸等等。方法则有启动、加速、减速等等。
所有汽车拥有这些属性、虽然具体属性不同。
所有汽车都拥有这些方法,方法具体实现、执行方式不一样。
JavaScript对象
在JavaScript中,几乎所有事物都是对象。
在 JavaScript 中,对象是非常重要的,当你理解了对象,就可以了解 JavaScript 。
下面的代码给变量car,设置初始值:
var car = "Fiat";
对象是一个变量,对象可以包含多个数值,多个变量,每一个数值以name:value
形式存在。
var car = {name:"Fiat", model:500, color:"white"};
通过上述代码,3个数值被赋予给了car变量。
JavaScript 对象是变量的容器。
对象的定义
可以利用字符定义创建JavaScript对象:
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
定义JavaScript对象可以跨越多行,空格跟换行都不是必须的:
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
对象属性
可以说JavaScript对象是变量的容器。但一般意义上都认为JavaScript对象是键值对的容器;
键值对通常写法name:value
,键值对之间利用冒号分隔。
键值对在JavaScript对象称之为对象的属性。
JavaScript 对象是属性变量的容器。
对象的键值对写法类似:
- PHP的关联数组:$scoreArray 是变量的名称、[‘KeyName’] 是元素的索引键。
<?php
$scoreArray = array(
'Chandler' => 50,
'Monica' => 80,
'Ross' => 95
);
?>
- Python 中的字典:
users = ['user1','user2']
passwds = ['123','456']
print(zip(users,passwds))
print(list(zip(users,passwds)))
print(dict(zip(users,passwds)))
- Java的哈希映射
访问对象的属性
可以通过两种方式访问对象属性:
person.lastName;
person["lastName"];
对象的方法
对象的方法定义了一个函数,并且作为对象的属性存储。
对象方法都是通过添加()调用作为一个函数。
name = person.fullName();
如果你要访问 person 对象的 fullName 属性,它将作为一个定义函数的字符串返回:
name = person.fullName;
JavaScript 对象是属性和方法的容器。
JavaScript函数语法
调用这个函数,执行相应的函数内代码。
function name() {
}
JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
***在这里插入代码片
调用带参数的函数
调用带参数的函数,可以向其传递数值,称之为参数。
这些参数可以用在函数中;
myFunction(argument1,argument2)
变量和参数必须一致顺序出现,第一个变量就是
<p>点击这个按钮,来调用带参数的函数。</p>
<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
<script>
function myFunction(name,job){
alert("Welcome " + name + ", the " + job);
}
</script>
上面的函数在按钮被点击时会提示 “Welcome Harry Potter, the Wizard”。
函数很灵活,您可以使用不同的参数来调用该函数,这样就会给出不同的消息:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<p>请点击其中的一个按钮,来调用带参数的函数。</p>
<button onclick="myFunction('Harry Potter','Wizard')">点击这里</button>
<button onclick="myFunction('Bob','Builder')">点击这里</button>
<script>
function myFunction(name,job)
{
alert("Welcome " + name + ", the " + job);
}
</script>
</body>
</html>
局部JavaScript变量
在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
只要函数运行完毕,本地变量就会被删除。
JavaScript变量的生存期
JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性
console.log(this.var1); // 1
console.log(window.var1); // 1
console.log(window.var2); // 2
delete var1; // false 无法删除
console.log(var1); //1
delete var2;
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义