本文最后更新于 2254 天前,其中的信息可能已经有所发展或是发生改变。
在HTML<head>的中添加以下语句来引入.js 文件
<script src=”…”></script>
在JS中 if 语句,循环语句和C 几乎一样
这是JS 中的赋值,单个语句用分号结束
var x = 1; var y = 2;
i = 0; //这些初始化变量会使得 i变量成为全局变量
JS也可像Python一样用 加号(+)将多个字符串连接起来,或者用模板字符串
使用模板字符串
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
JS中也含有类似Python字典的对象和数组
对象
var person = {
name: 'Bob',
age: 20,
tags: ['js', 'web', 'mobile'],
city: 'Beijing',
hasCar: true,
zipcode: null
};
person[name]
person.name //另一种访问键值对的方法
//它的键只能为字符串类型,用 map , set 可以使用其他类型的键
Map, Set
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]); m.get('Michael'); // 95(获取值) //map使用,它的本质是二位数组 set 类似 列表 var s2 = new Set([1, 2, 3]); // 含1, 2, 3
数组的操作
[1, 2, 3.14, 'Hello', null, true];
另一种创建方式
new Array(1, 2, 3); // 创建了数组[1, 2, 3]
var arr = [1, 2, 3.14, 'Hello', null, true];
arr.length; //返回arr数组的长度,可直接对其赋值改变数组大小
arr.indexOf('Hello') //返回'Hello'在 arr中的位置,若找不到则返回0
arr.slice(0 ,3) //数组的截取,类似于python的 [0:3]
arr.shift() //删除第一个元素
arr.pop() //把最后一个元素删除
arr.push('123') //类似于 append('123')
arr.unshift('321') //添加至数组首
arr.sort() //排序
arr.join() //将数组中的元素用括号中的字符连接起来
arr.concat([1,2,3]) //合并两个数组
for循环拓展
var a = ['A', 'B', 'C'];
for (var x of a) // 遍历 a 的元素
{
console.log(x);
}
for (var x in a) // 遍历 a 的索引
{
console.log(x);
}
定义函数
function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
如果没有return语句,函数执行完毕后也会返回结果,只是结果为undefined(类似于Python的None)。
在定义函数时JS内部可以使用一个名为 arguments 的数组,它包含所有调用该函数时传入的参数。
function foo(a, b, c) {
if (arguments.length === 2) {
// 实际拿到的参数是a和b,c为undefined
c = b; // 把b赋给c
b = null; // b变为默认值
}
}
但是,arguments 不利于获取多输入的参数,于是有了 …rest 参数
function foo(a, b, ...rest) {
console.log('a = ' + a);
console.log('b = ' + b);
console.log(rest);
}
foo(1, 2, 3, 4, 5);
// 结果:
// a = 1
// b = 2
// Array [ 3, 4, 5 ]
foo(1);
// 结果:
// a = 1
// b = undefined
// Array []
方法
在对象(字典)中嵌入函数在JS中叫方法
var xiaoming = {
name: '小明',
birth: 1990,
age: function () {
var y = new Date().getFullYear();
return y - this.birth;
}
};//这个方法可以动态地显示年龄
this 类似于 self 它表示它的父级类,在上述例子中 this表示 xiaoming 类 对象
可以用 apply 来改变this的指向
apply接收两个参数,第一个参数就是需要绑定的this
变量,第二个参数是Array
,表示函数本身的参数。
function getAge() {
var y = new Date().getFullYear();
return y - this.birth;
}
var xiaoming = {
name: '小明',
birth: 1990,
age: getAge
};
xiaoming.age(); // 25
getAge.apply(xiaoming, []); // 25, this指向xiaoming, 参数为空