1.注释:// /* */
2.JavaScript有6种不同的数据类型:undefined(未定义), null(空), boolean(布尔型), string(字符串), number(数字), and object(对象)-复杂数据类型。
3.声明一个变量 var name; 默认初始值undefined
当你它进行运算操作的时候,算出来的结果将会是NaN( "Not aNumber"),当你用它来做字符串连接操作的时候,它会如实的输出"undefined"。
4.大小写敏感
5.小数=浮点数
6.字符串用“”‘’都行,\来转义引号。如果一个字符串里单引号或者双引号很多,可以:
var str='This string has "double quotes" in it. And "probably" lots of them.'
7.字符串连接操作符:+ (当 + 操作符与 字符串 一起使用的时候)
注意:连接操作不会添加两个字符串之外的空格,所以想加上空格的话,需要自己在字符串里面添加。
8.获取字符串长度 "Alan Peter".length; // 10
可以使用 firstName[0] 来获得第一个位置上的字符9.字符串值的不可变性
在JavaScript中,字符串的值是 不可变的,这意味着一旦字符串被创建就不能被改变。例如下面的代码:
var myStr = "Bob";
myStr[0] = "J";
是不会把变量 myStr 的值改变成"Job" 的,因为变量 myStr是不可变的。但 并不 意味着永远不能被改变,只是字符串字面值 stringliteral 的各个字符不能被改变。改变 myStr 中的唯一方法是重新给它赋一个值,就像这样:
var myStr = "Bob";
myStr = "Job";
10.取字符串最后的字符:
在 var firstName ="Charles" 中,操作 firstName[firstName.length- 1] 得到最后的一个字符。 firstName[firstName.length - 3] 操作来获得倒数第三个字符。
11.数组:逗号隔开
var sandwich = ["peanut butter", "jelly", "bread"]
通过字符串的索引得到的是一个字符,通过数组索引得到的是一个条目。例如:
var arr = [
[1,2,3],
[4,5,6],
[7,8,9],
[[10,11,12], 13, 14]
];
arr[0]; // [1,2,3] arr[1][2]; // 6 arr[3][0][1]; // 11
12.将一个或多个数据添加到数组的末尾:push()
var arr = [1,2,3];
arr.push(4);//arr=[1,2,3,4];
13.移出数组最后一个元素:pop()
var oneDown = [1, 4, 6].pop(); //oneDown= 6 ,oneDown=[1, 4].
14.移出数组第一个元素:shift()
15.移入一个元素到数组的头部:unshift()
16.console.log("Hello, World!")函数用来打印到开发控制台上
17.全局和局部变量:只有在函数体用var定义的才是局部变量,其它都是全局变量。建议每个变量都用var
18.队列:是一个数据结构,新的数据会加到末尾,旧的数据会从头部移出。
19.运算符:
为了让两个不同的 数据类型(例如数字 和 字符串)的值可以作比较,它必须在比较的时候自动把一种类型转换为另一种类型。
严格相等运算符( === ) 会同时比较元素的值和 数据类型 。==会转换与相等运算符一样,大于运算符在比较的时候,会转换值的数据类型。
20.比较函数的简单写法:
因为=== 总是返回 true 或 false,所以我们可以直接返回比较的结果:
function isEqual(a,b) {
return a === b;
}
//if(a==b)return true;
21.对象:与数组相似,数组是通过索引来访问修改数据,对象是通过属性来操作。对象示例:
var cat = {
"name": "Whiskers",
"legs": 4,
"tails": 1,
"enemies": ["Water", "Dogs"]
};
对象适合存储结构化数据,比如一只猫,emmm
22.访问对象属性:1.点操作符( . ) 2.中括号操作符( [ ] )—属性名有空格时需使用 [] 例如:
var myObj = {
"Space Name": "Kirk",
"More Space": "Spock"
};
myObj["Space Name"]; // Kirk
myObj['More Space']; // Spock
提示:如果属性名称中有空格,比如用单引号或者双引号包裹起来。
23.用变量来访问一个属性:(中括号操作符的另一个使用方式),当你需要遍历对象的属性列表或查表时,这种方式极为有用。例如:
var someProp = "propName";
var myObj = {propName: "Some Value"}
myObj[someProp]; // "Some Value"
24.更新对象属性:用点操作符或中括号操作符来更新对象的属性
var ourDog = {
"name": "Camper",
"legs": 4,
"tails": 1,
"friends": ["everything!"]
};
ourDog.name = "Happy Camper";
//或者ourDog["name"] = "Happy Camper";
25.添加属性:
ourDog.bark = "bow-wow";
26.删除属性: delete ourDog.bark;
27.检查是否含有某属性:.hasOwnProperty(propname) 有则返回true ,否则返回false
28.JSON(JavaScript Object Notation):
使用对象的格式来存数据,json很灵活,允许字符串、数字、布尔值、字符串、对象的任意组合。示例:
var ourMusic = [
{
"artist": "Daft Punk",
"title": "Homework",
"release_year": 1997,
"formats": [ "CD", "Cassette", "LP" ],
"gold": true
}
];
这是一个对象数组,提示:数组中有多个Json对象的时候,用逗号分开。
29.访问JSON对象属性:
通过串联起来的点操作符或中括号操作符来访问,下面是嵌套的JSOn对象
var ourStorage = {
"desk": {"drawer": "stapler"},
"cabinet": {"top drawer": { "folder1": "a file","folder2": "secrets"},"bottom drawer": "soda"}
}
ourStorage.cabinet["top drawer"].folder2; // "secrets"
ourStorage.desk.drawer; // "stapler"
30.如何访问嵌套数组:例子:
var ourPets = {
"cats": ["Meowzer","Fluffy","Kit-Cat"],
"dogs": ["Spot","Bowser","Frankie"]
};
ourPets.cats[1]; // "Fluffy"
ourPets.dogs[0]; // "Spot"
31.Math.random()用来生成一个在0(包括0)到1(不包括1)之间的随机小数
用 Math.floor()向下取整 获得它最近的整数
如果乘以20,那么就会得到0-19之间的数
例子:产生两个指定的数之间的随机整数
Math.floor(Math.random() * (max - min + 1)) + min
32.正则表达式:用来根据某种匹配模式来寻找String中的某些单词
举例:如果我们想要找到字符串The dogchased the cat中单词 the,我们可以使用下面的正则表达式: /the/gi
/ 是这个正则表达式的头部
the 是我们想要匹配的模式
/ 是这个正则表达式的尾部
g 代表着 global(全局),意味着返回所有的匹配而不仅仅是第一个。
i 代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写。
我们可以在正则表达式中使用特殊选择器来选取特殊类型的值。
特殊选择器中的一种就是数字选择器\d,意思是被用来获取一个字符串的数字。
在JavaScript中, 数字选择器类似于: /\d/g。
在选择器后面添加一个加号标记 ( + ) ,例如: /\d+/g ,它允许这个正则表达式匹配一个或更多数字。我们也可以使用正则表达式选择器\s 来选择一个字符串中的空白。
空白字符有 "" (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。
空白正则表达式类似于:/\s+/g
你可以用正则表达式选择器的大写版本 来转化任何匹配。
举个例子:\s 匹配任何空白字符,\S 匹配任何非空白字符。
让我们用 jQuery 选择器 $(".slot")获得所有老虎机。
一旦获取到所有老虎机,我们可以通过中括号操作符获取到每一个老虎机:
$($(".slot")[0]).html(slotOne); //jQuery将会获取到第一个老虎机,并更新它的HTML为正确的数字。