Javascript 语法-快速入门手册
1. 定义变量和常量
/*变量 var 或者 let(ES6及其以上版本可用) */
var name = "JavaScript";
let name = "JavaScript";
var person = "Bill Gates", carName = "porsche", price = 15000;
var person = "Bill Gates",
carName = "porsche",
price = 15000;
/*常量*/
const pi = 3.14;
/*区别:*/
let 定义的变量有作用域
var 定义的变量没有作用域的区分
2. 常用的运算符
| 算数运算符 |
描述 |
| + |
加法 |
| - |
减法 |
| * |
乘法 |
| / |
除法 |
| % |
取模(余数) |
| ++ |
递加 |
| -- |
递减 |
| ** |
幂(ES2016) |
| 赋值运算符 |
例子 |
等同于 |
| = |
x = y |
x = y |
| += |
x += y |
x = x + y |
| -= |
x -= y |
x = x - y |
| *= |
x *= y |
x = x * y |
| /= |
x /= y |
x = x / y |
| %= |
x %= y |
x = x % y |
| <<= |
x <<= y |
x = x << y |
| >>= |
x >>= y |
x = x >> y |
| >>>= |
x >>>= y |
x = x >>> y |
| &= |
x &= y |
x = x & y |
| ^= |
x ^= y |
x = x ^ y |
| |= |
x |= y |
x = x | y |
| 比较运算符 |
描述 |
| == |
等于 |
| === |
等值等型 |
| != |
不相等 |
| !== |
不等值或不等型 |
| > |
大于 |
| < |
小于 |
| >= |
大于或等于 |
| <= |
小于或等于 |
| ? |
三元运算符 |
| 逻辑运算符 |
描述 |
| && |
逻辑与 |
| || |
逻辑或 |
| ! |
逻辑非 |
| 位运算符 |
描述 |
例子 |
等同于 |
结果 |
十进制 |
| & |
与 |
5 & 1 |
0101 & 0001 |
0001 |
1 |
| | |
或 |
5 | 1 |
0101 | 0001 |
0101 |
5 |
| ~ |
非 |
~ 5 |
~0101 |
1010 |
10 |
| ^ |
异或 |
5 ^ 1 |
0101 ^ 0001 |
0100 |
4 |
| << |
零填充左位移 |
5 << 1 |
0101 << 1 |
1010 |
10 |
| >> |
有符号右位移 |
5 >> 1 |
0101 >> 1 |
0010 |
2 |
| >>> |
零填充右位移 |
5 >>> 1 |
0101 >>> 1 |
0010 |
2 |
3. 常用数据类型
字符串(String),数值(number), 数组(list), 布尔值(bool), 对象
var length = 7; // 数值
var lastName = "Gates"; // 字符串
var cars = ["Porsche", "Volvo", "BMW"]; // 数组
var x = {firstName:"Bill", lastName:"Gates"}; // 对象
3.1 字符串
String 对象属性表
| 属性 |
描述 |
| constructor |
对创建该对象的函数的引用 |
| length |
字符串的长度 |
| prototype |
允许您向对象添加属性和方法 |
String 对象方法
3.2 数值
Number 对象属性
Number 对象方法
3.3 数组
Array 对象属性
Array 对象方法
3.4 布尔值
Boolean 对象
Boolean 对象表示两个值:"true" 或 "false"。
创建 Boolean 对象的语法:
new Boolean(value); //构造函数
Boolean(value); //转换函数
参数
参数 value 由布尔对象存放的值或者要转换成布尔值的值。
返回值
当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。
如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值。
注释:如果省略 value 参数,或者设置为 0、-0、null、""、false、undefined 或 NaN,则该对象设置为 false。否则设置为 true(即使 value 参数是字符串 "false")。
4. 流程控制
JavaScript 支持不同类型的循环:
- for - 多次遍历代码块
- for/in - 遍历对象属性
- while - 当指定条件为 true 时循环一段代码块
- do/while - 当指定条件为 true 时循环一段代码块
if else, break:
/*for */
for (i = 0, len = cars.length, text = ""; i < len; i++) {
text += cars[i] + "<br>";
}
// 等效
var i = 0;
var len = cars.length;
for (; i < len; ) {
text += cars[i] + "<br>";
i++;
}
/*for in*/
var person = {fname:"Bill", lname:"Gates", age:62};
var text = "";
var x;
for (x in person) {
text += person[x];
}
/*while */
while (i < 10) {
text += "数字是 " + i;
i++;
}
/*do while*/
do {
text += "The number is " + i;
i++;
}
while (i < 10);
// if
if (condition1) {
// block of code to be executed if condition1 is true
} else if (condition2) {
// block of code to be executed if the condition1 is false and condition2 is true
} else {
// block of code to be executed if the condition1 is false and condition2 is false
}
类型转化表
JavaScript 类型转换表
constructor 属性返回所有 JavaScript 变量的构造器函数。
下表中列出了将不同 JavaScript 值转换为数字、字符串和布尔的结果:
| 原始值(typeof) |
转换为数字(Number, parseFloat, parseInt) |
转换为字符串(String tostring) |
转换为逻辑(Boolean) |
试一试 |
| false |
0 |
"false" |
false |
试一试 |
| true |
1 |
"true" |
true |
试一试 |
| 0 |
0 |
"0" |
false |
试一试 |
| 1 |
1 |
"1" |
true |
试一试 |
| "0" |
0 |
"0" |
true |
试一试 |
| "000" |
0 |
"000" |
true |
试一试 |
| "1" |
1 |
"1" |
true |
试一试 |
| NaN |
NaN |
"NaN" |
false |
试一试 |
| Infinity |
Infinity |
"Infinity" |
true |
试一试 |
| -Infinity |
-Infinity |
"-Infinity" |
true |
试一试 |
| "" |
0 |
"" |
false |
试一试 |
| "20" |
20 |
"20" |
true |
试一试 |
| "twenty" |
NaN |
"twenty" |
true |
试一试 |
| [ ] |
0 |
"" |
true |
试一试 |
| [20] |
20 |
"20" |
true |
试一试 |
| [10,20] |
NaN |
"10,20" |
true |
试一试 |
| ["twenty"] |
NaN |
"twenty" |
true |
试一试 |
| ["ten","twenty"] |
NaN |
"ten,twenty" |
true |
试一试 |
| function(){} |
NaN |
"function(){}" |
true |
试一试 |
|
NaN |
"[object Object]" |
true |
试一试 |
| null |
0 |
"null" |
false |
试一试 |
| undefined |
NaN |
"undefined" |
false |
试一试 |