基础
1. 注释
// 123546
/*4654646454*/
2. 变量
var varName = 19;
Variable
(变量)的名字可以由数字、字母、$
或者_
组成,但是不能包含空格或者以数字为首。- JavaScript提供七种不同的data types(数据类型),它们是
undefined
(未定义),null
(空),boolean
(布尔型),string
(字符串),symbol
(符号),number
(数字), andobject
(对象)。 - 当 JavaScript 中的变量被声明的时候,它们的初始值为
undefined
。如果对一个值为undefined
的变量进行运算操作的时候,那么结果将会是NaN
,NaN
的意思是 “Not a Number”。如果将一个没有定义
的变量跟字符串进行连接的时候,你将获得一个字符串"undefined"
。 - 在 JavaScript 中所有的变量都是大小写敏感的。这意味着你要区分大写字母和小写字母。
- 在函数外定义的变量具有 全局 作用域。这意味着,具有全局作用域的变量可以在代码的任何地方被调用 。
- 没有使用
var
关键字定义的变量,会被自动创建在全局作用域中,变成全局变量。 - 函数内,如果局部变量与全局变量名相同,局部变量覆盖全局变量。
3. 字符串
-
定义一个字符串时,你必须以单引号
'
或双引号"
作为开头和结尾。 -
当我们需要在字符串中使用与开头结尾相同的引号时,我们需要对引号进行
转义
。如果你有很多双引号的字符串,使用转义字符\
可能导致难以阅读。这时候可以使用单引号。 -
当
+
运算符与字符串
一起使用,可以连接字符串 -
可以通过在字符串变量或字符串后面写上
.length
来获得变量中string
(字符串)值的长度。
var firstNameLength = 0;
var firstName = "Ada";
firstNameLength = firstName.length;
字符串
的值是不可变的
,这意味着一旦字符串被创建就不能被改变。 注意,这 并不 意味着字符串
永远不能被改变,只是字符串字面量string literal
的各个字符不能被改变。改变myStr
中的唯一方法是重新给它赋一个值
4. 数组
var myArray = [["John", 23], ["dog", 3]];
- 数组可以包含任意元素。
- 可以使用索引改变数组中的值。
.push()
向数组尾部追加元素;.pop()
弹出数组中最后一个元素;.shift()
移出数组中第一个元素;.unshift()
向数组头部添加元素;
5. 函数
function testFun(param1, param2) {
console.log(param1, param2);
}
6. 对象
var cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
-
对象是通过属性来访问和修改数据的。
-
有两种方式访问对象属性,一个是点操作符(
.
),一个是中括号操作符([]
)。 当你知道属性的名称的时候,使用点操作符。
var myObj = {
prop1: "val1",
prop2: "val2"
};
var prop1val = myObj.prop1; // val1
var prop2val = myObj.prop2; // val2
- 第二种访问对象的方式就是中括号操作符(
[]
),如果你想访问的属性的名称有一个空格,这时你只能使用中括号操作符([]
)。
var myObj = {
"Space Name": "Kirk",
"More Space": "Spock"
};
myObj["Space Name"]; // Kirk
myObj['More Space']; // Spock
- 中括号操作符的另一个使用方式是用变量来访问一个属性。当你需要遍历对象的属性列表或查表时,这种方式极为有用。 通过变量名访问属性的时候,不需要给变量名包裹引号。因为实际上我们使用的是变量的值,而不是变量的名称。
var someProp = "propName";
var myObj = {
propName: "Some Value"
}
myObj[someProp]; // "Some Value"
- 创建了一个对象后,你可以用点操作符或中括号操作符来更新或添加对象的属性。
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.name = "Happy Camper"; // 点操作符更新属性
ourDog["name"] = "Happy Camper"; // []操作符更新属性
ourDog.bark = "bow-wow"; // 点操作符添加属性
ourDog["bark"] = "bow-wow"; // []操作符添加属性
-
删除对象属性
delete ourDog.bark; delete ourDog["bark"];
-
可以用
.hasOwnProperty(propname)
方法来检查对象是否有该属性。如果有返回true
,反之返回false
。
var myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top");// true
myObj.hasOwnProperty("middle"); // false
7. JSON 操作
JavaScript Object Notation 简称 JSON
,它使用JavaScript对象的格式来存储数据。JSON是灵活的,因为它允许 数据结构 是 字符串,数字,布尔值,字符串,和 对象 的任意组合 。 数组中有多个 JSON 对象的时候,对象与对象之间要用逗号隔开。
var ourMusic = [
{
"artist": "Daft Punk",
"title": "Homework",
"release_year": 1997,
"formats": [
"CD",
"Cassette",
"LP" ],
"gold": true
}
];
- 通过
.
和[]
运算符来访问JSON中的值(和对象一样)。