美文网首页
前端JS基础一(基础知识)

前端JS基础一(基础知识)

作者: EmilioWeng | 来源:发表于2018-08-01 15:37 被阅读0次

    基础知识

    js基础三座大山

    • 原型 原型链
    • 作用域 闭包
    • 异步 单线程

    知识点

    1.变量类型:值类型和引用类型(指针)

    • 引用类型包括: 数组、函数和对象;引用类型公共空间,是指针
           var a=100;
           var b=a;
           a=200;
           console.log(b) //100
    
           var a={age:20};
           var b=a;
           b.age=21;
           console.log(a.age) //21
    

    2.typeof只能区分值类型的详细类型,对引用类型无能为力,但可以区分出函数来

           typeof undefined; //undefined
           typeof 'abc'; //string
           typeof 123; //number
           typeof true; //boolean
           typeof {}; //object
           typeof []; //object
           typeof null; //object
           typeof console.log //function
    

    3.强制类型转换(值类型的计算)
    ① 字符串拼接
    ② ==运算符
    ③ if语句
    ④ 逻辑运算(布尔操作符 逻辑非、逻辑与、逻辑或)

           var a=100+10;//110
           var b=100+'10'//'10010'
    
           100 =='100'//true
           0==''//true
           null==undefined//true
    
           var a=true;
           if(a){
              //...
           }
           var b=100;
           if(b){
              //...
           }
           var c='';
           if(c){
              //...
           } 
    
           console.log(10&&0)//0
           console.log(''||'abc')//abc
           console.log(!window.abc)//true
           
           var a=100;
           console.log(!!a)//true
    

    练习题

         练习题1、JS中使用typeof能得到的哪些类型?
                typeof undefined;//undefined
                typeof 'abc';//string
                typeof 123;//number
                typeof true;//boolean
                typeof {};//object
                typeof [];//object
                typeof null;//object
                typeof console.log//function
               // typeof只能区分值类型的详细类型,对引用类型无能为力,但可以区分出函数来
    
         练习题2、何时使用===何时使用==?
                if(obj.a==null){
                    //这里相当于obj.a===null||obj.a===undefined,简写形式
                    //这是jquery源码中推荐的方法,其他的都用===
                }
    
         练习题3、JS中有哪些内置函数的数据封装类对象?
              //JS作为单纯语言的内置函数
                Object
                Array
                Boolean
                Number
                String
                Function
                Date
                RegExp
                Error
                //Global浏览器内置对象
                //Math是对象,不是函数
    
        练习题4、JS变量按照存储方式区分为哪些类型,并描述其特点
                //分为值类型和引用类型
                //值类型
                var a=10
                var b=a
                a=11
                console.log(b)//10
    
                //引用类型
                var obj1={x:100}
                var obj2=obj1
                obj1.x=200
                console.log(obj2.x)//200
                值类型直接存储的是值
                引用类型存储的是指向值的指针,这样做是为了节省内存
                值类型的值赋值后不会相互干预
                引用类型的赋值是变量指针的赋值,不是真的值的拷贝,他们的赋值是相互干预的。
    
         练习题5、如何理解JSON?
                //JSON只不过是一个JS对像而已,和MATH一样
                JSON.stringfy({a:10,b:20})
                JSON.parse('{"a":10,"b":20}')
                //注意:JS中为false的为 0 NaN null undefined '' false
    

    相关文章

      网友评论

          本文标题:前端JS基础一(基础知识)

          本文链接:https://www.haomeiwen.com/subject/vqkrvftx.html