JavaScript
什么是JavaScript?
JavaScript是一门世界上最流行的脚本语言。这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
快速入门
引入JavaScript
<!--script标签内写js代码-->
<script>
alert('hello,world')
</script>
<!--外部引入-->
<!--注意:script标签必须成对出现-->
<script src="js/qj.js"></script>
//console.log(score); 在浏览器的控制台打印变量 相当于System.out.println();
严格检查模式strict
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!--
前提:idea需要设置支持es6的语法
use strict 严格校验模式,预防JavaScript的随意性导致产生的一些问题
必须写在JavaScript的第一行
局部变量建议都使用let去定义
-->
<script>
'use strict'
//Uncaught ReferenceError: j is not defined
// j = 1;
//全局变量
// var i = 1;
//局部变量
let i = 1;
</script>
</head>
<body>
</body>
</html>
数据结构
字符串
- 正常字符串使用 单引号,或者双引号包裹
- 注意转义字符 \
\'
\n
\t
\u4e2d \u#### unicode字符
\x41 Ascll字符
- 多行字符串编写
let msg = `
hello
nihao
zyy
`
函数
for…of 与 for…in
for…of
let map = new Map([['张三',100],['李四',90],['王五',80]]);
for (let i of map) {
console.log(i);
}
for…in
let arr = [1,2,3,4,5,6,7];
for(let num in arr) {
console.log(arr[num])
}
for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。for of遍历的只是数组内的元素,而不包括数组的原型属性method和索引name。所以for in更适合遍历对象,不要使用for in遍历数组。
局部作用域
'use strict';
function foo() {
var sum = 0;
for (let i=0; i<100; i++) {
sum += i;
}
// SyntaxError:
i += 1;
}
方法
var xiaoming = {
name: '小明',
birth: 1990,
age: function () {
var y = new Date().getFullYear();
return y - this.birth;
}
};
xiaoming.age; // function xiaoming.age()
xiaoming.age(); // 今年调用是25,明年调用就变成26了
在js中可以控制this指向
function getAge() {
let now = new Date().getFullYear();
return now - this.birth;
};
let zyy = {
name: '张三',
birth: 1993,
age: getAge
};
//zyy.age() 可以调用
//getAge() NaN
//getAge.apply(zyy, []);//this 指向了zyy,参数为空
Date()