基础知识回顾-js基本类型与构造器

1.连等于:var a = b =5;这句话相当于var a = 5 ; window.b = 5;
  function name() {
    var a = b = 5;
  }

  name();

  console.log(a);

  console.log(b);
2. 5大基本类型是如何作用或产生的(构造器new构造出来的对象),同时说明在js中万物皆对象。

  var b = 5; <=等价=> var b = new Number(5); 隐式调用了Number()构造函数;

  对new(构造器的解释/理解)

  1)new为何会出现?  基于使得同一类型不同的对象互相独立互不影响的想法(想让结构相等甚至内容相等的对象之间能够互相独立);

  2)对js中的变量出现两大阵营(基本类型 与 引用类型)的解释?

  3)为什么基本类型可以互相独立(在每次赋值操作时隐式调用了new构造器进行赋值),而引用类型不行?

  var bool = new Boolean(false);

  解释为何 bool === false返回值为false而false === false 返回值为true;

  答:主动通过new构造器进行赋值操作  与  隐式转换借助new构造器(理解为js的默认操作)  的区别;js内部的解析方式,主动通过new构造器赋值,得到的结果是一个对象,隐式转换得到的结果是基本类型(number, boolean, ...);

3. js中自动分号插入机制;

  1)在return所在行的末尾加分号(有回车的情况下);

  2)在前置括号中,js是不会自动加分号的;

  w3c上关于js自动插入分号的说明是:

    ECMAScript 则允许开发者自行决定是否以分号结束一行代码。如果没有分号,ECMAScript 就把折行代码的结尾看做该语句的结尾;前提是这样没有破坏代码的语义。

4.字面量赋值 与 构造函数赋值;

  (2).toString() 与  2.toString()的区别

  为什么要加括号才能成功?

  {}.toString ? 报错;

  

  字面量对象赋值:obj = {};

  构造函数赋值:obj = new Object();

  Object.defineProperty(obj, 'b', {value:8});

  obj.hasOwnProperty('b');

5.javascript从java中借鉴了代码块的概念。用"{}"括号来表示,代码块表示一系列应该按顺序执行的语句,它们被封装在"{}"花括号当中。

6.事件监听器addEventListener的用法

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/EventTarget/addEventListener

 

posted @ 2016-06-15 10:58  君寻不惑  阅读(196)  评论(0编辑  收藏  举报