1.怎么使用js
js的使用方式有两种:
方式一:
可以在body中写<script></script>
方式二:
可以外部协商script,然后通过src进行引入
2.js的输出
1.可以采用windows.alter() 进行弹窗提醒
2.可以采用console.log()直接将日志打印到控制台
3.document表示的是整个html文档的body部分,可以通过document.write("哈哈")向文档中写入内容
3.3.js的变量
3.1 变量的声明方式
3.1.1.采用var声明变量
var arr = "hello";
1.作用域
var声明的变支持函数函数作用域和全局作用域。如果声明在函数内部便是函数作用域。
2.变量提升
什么是变量提升:变量提升其实就是会把全局变量的声明放到全局头部,并赋值为undefined,如果是函数里面用var,会把声明放到函数头部,并赋值为undefined。
<script>
console.log("a = ", a);
var a = "123";
function fun() {
var b = "234";
console.log(a);
}
console.log("b = ",b)
fun();
</script>
3.允许重复声明,不会报错
3.1.2.采用let声明变量
1.作用域
块级作用域,即{}中声明的变量只在{}中有效。
2.是否会变量提升
let会变量提升,但是在生命之前访问会会抛出错误(暂时性死区),所以可以认为let一定要先声明才能访问。
3.let是否可以声明重复变量
let不能声明重复变量。
3.1.3.采用const声明变量
const声明的变量和let一样,但是初始化的变量无法被重新赋值。
3.1.4 不声明var变量,直接赋值
此时会通过作用域链,采用就近原则,找到访问的最近的变量,如果没有,便会在windows中建立一个全局变量,并且将该值赋值给他。
3.1.5 推荐
推荐使用const和let,减少var的使用。
3.2 变量的类型
变量的类型分为两种,基本类型和对象类型。
3.2.1 基本类型
1.string
所有的字符串就是string类型
2.number
所有的数字为number类型
3.boolean
true和false为boolean类型
4.undefine
undefine表示未初始化,只有一个值undefine为undefine类型。
5.null
null表示空,只有一个值null。
3.2.2 对象类型
1.Object类型
一切对象都是object类型。
2.function类型
如果是函数,就是函数类型,其中函数()表示调用该函数,并且function类型是Object的一种特殊的对象类型。
3.array类型
array类型表示数组,数组类型也是一种特殊的对象类型。
3.3 变量类型的判断方式
3.3.1 采用typeof
let un = undefined;
console.log(typeof un); //'undefine'
let nl = null;
console.log(typeof nl); //'object'
let arr = [1, 2, 3];
console.log(typeof arr); //'object'
let obj = {
name: "张三",
age: 12
};
console.log(typeof obj); //'object'
let fn = function () {
return "hello";
};
console.log(typeof fn); //'function'
3.3.2 采用instanceof
instanceof只能用于Object类型,表示这个对象是什么原型的实例。
let arr = [1, 2, 3];
console.log(arr instanceof Array); //true
let obj = {
name: "张三",
age: 12
};
console.log(obj instanceof Object); //true
let fn = function () {
return "hello";
};
console.log(fn instanceof Function); //true
3.3.3 采用===
===表示类型和值都相等,其中undefine类型和null类型只有一个值,可以用===判断。
let a;
console.log(a === undefined); //true
let b = null;
console.log(b === null); //true