zoukankan      html  css  js  c++  java
  • javascript基础知识拾遗

    1 下面列出的值被当作假

    false

    null

    undefined

    ''

    0

    NaN

    其它所有值被当作是真

    console.log(undefined || true); //true

    console.log(0||true); //true

    console.log(''||true); //true

    console.log(false||true); //true

    console.log(null||true); //true

    console.log(NaN||true); //true

    console.log(undefined&&true); //undefined

    console.log(0&&true); //0

    console.log(null&&true); //null

    console.log(' '&&true); //空字符串

    console.log(NaN&&true); //NaN

    console.log(false&&true); //false

    console.log(undefined || 0); //0

    console.log(0||undefined); //undefined

    console.log(''== 0);//true

    console.log(''== '0');//false

    console.log(0=='0')//true

    console.log(false=='false')//false

    console.log(false==false);//true

    console.log('false'=='false');//true

    console.log(false=='0');//true

    console.log(false==null);//false

    console.log(false==undefined);//false

    console.log(null==undefined);//true

    2 javascript 5种简单数据类型

    Undefined 类型

    Boolean 类型

    Number 类型

    String类型

    Object 类型

    var a = new Number();

    var c = new Boolean();

    var d = undefined;

    var e = new String();

    var f = new Object();

    console.log(a,b,c,d,e,f);//Number {}Boolean {} undefined String {}Object {}

     

    3 typeof操作符

    “undefined”    ----------   如果值未定义                       Undefined

    “boolean”      ----------     如果这个值是布尔值              Boolean

    “string”        ----------     如果这个值是字符串              String

    “number”      ----------     如果这个值是数值类型           Number

    “object”        ----------     如果这个值是对象或null        Object

    “function” ----------     如果这个值是函数                 Function

    var a = null;

    var b ='';

    var c =0;

    var d = [1,2];

    var c = function(){}

    var e = false;

    var f;

    console.log(typeof a,typeof b,typeof c,typeof d,typeof e,typeof f); //object string function object boolean undefined

    4 运算符优先级

    clipboard

    5 函数调用模式(4种)

        (1)方法调用模式

        当一个函数被保存为对象的一个属性时,称它为一个方法

        var person = {

            say:function(){

                    alert('hi!');      

            }

        }

        person.say();

        (2)函数调用模式

        当一个函数并非一个对象的属性时,那么它被当作一个函数来调用

        function say(){

           alert('hi!');      

        }

        var a= say();

        (3)构造器调用模式

        function Person(){

            this.say = function(){

                alert('hi');

            }

        }

        var p = new Person();

        (4)call/apply调用模式

         var arr = [1,2];

         function add(){

             return arguments[0]+arguments[1];

        }

        var sum = add.apply(null,arr);

        console.log(sum);//3

    6 return语句

        如果没有return时,函数默认返回undefined,如果用构造器调用模式,则返回函数的this对象。

        var add = function(a,b){

              a+b;

        }

        console.log(add()); //返回undefined

        var a = new add();

        console.log(a);// 返回this对象

    7 try/catch语句

    try{

        console.log(abc);

        }catch(e){

         console.log(e.name+":"+e.message); //ReferenceError:abc is not defined

    }

    8 闭包

    下面这种情况,得到的值都是5

    var arr =[];

    for(var i=0;i<5;i++){

        arr[i] = function(){

          console.log(i);

        };

    }

    arr[0](); //5

    arr[1](); //5

    arr[2](); //5

    arr[3](); //5

    arr[4](); //5

    解决方法

    var arr =[];

    for(var i=0;i<5;i++){

      (function(i){

        arr[i] = function(){

          console.log(i);

        };

      }(i))

    }

    arr[0](); //0

    arr[1](); //1

    arr[2](); //2

    arr[3](); //3

    arr[4](); //4

  • 相关阅读:
    快速幂算法
    素数筛
    数论知识点总结
    ABOUT MY NAME
    CF1043F Make It One
    树形DP
    魔兽世界联盟8.1主线任务
    模板std::mutex用法:
    【转】正确的提问方式
    第一个Python游戏窗口
  • 原文地址:https://www.cnblogs.com/lj915/p/3880391.html
Copyright © 2011-2022 走看看