JS基础(一) 变量的声明和类型判断

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值