js琐碎知识点

1.javascript发展史

  javascript首先由Netscape设计,为改善浏览器用户体验,名为liveScript,

 网景公司被sun公司收购,为了宣传改名为javascript

 后来sun公司被oracle公司收购,javascript版权归oracle所有

2.浏览器 = shell + 内核

   IE           trident

   Chrome          webkit / blink (v8引擎,js代码直接转化为机械码来执行,渲染速度快)

   Safari         webkit

   Firfox         Gecko(js引擎 路径优化)

   Opera         presto(兼容性好)

  内核 = 渲染引擎(语法规则和渲染) + js引擎 + 其他部分

 *之前没有js引擎,所有都放到渲染引擎,能够支持执行的js代码10-20行

 后来2011年ie6将js引擎分离出来,能够支持执行的代码达到几万行,一个突破

  *v8引擎之前js代码先转换为c/c++ , 再转换汇编,最后转换为机器码

  v8直接将js转换为机器码

3.js语言特点:

  解释性语言: javascript, php, python, jsp...

  编译性语言:  c, c++, Ruby...

  半编译,半解释:java是通过javac编译为 .class 文件后, 再通过jvm虚拟机解释执行 .class 文件, 跨平台

  (1)解释性语言,

      优点:不需要解释为文件,跨平台,

       缺点是每次都需要需要一行行解释执行,满

  (2)单线程:(js执行队列,轮转时间片,交替随机执行任务,好似同时执行的)

4.js = ECMAscript + DOM + BOM 

  ECMAScript       毋庸置疑,必须全兼容

  DOM      W3C  部分兼容

  BOM       操作shell  基本不兼容

5.引入方式

   <script src="xxx.js"><script>

   <script>...</script>

    同步加载,通常位于body标签末尾

类比css引入方式:

  css正常引入后和html是异步记载

  (1)行间样式

  (2)页面级css(写于head部分)

  (3)外部css文件(<link rel="stylesheet" type="text/css" href="xxx.css"></link>)

  (4)@import url(xxx.css)

      该方式要求:

          必须位于style标签中的第一行

          ie6环境下最多使用31次

          当html代码全部加载完毕后才会开始加载此方法引入的css

 6.逻辑运算符:

  &&    常用于替代if判断

  ||     常用来兼容写法

  !    逻辑判断

  区分&& 和 || 的判定方式

  注意判断成功的返回值是什么

7.被认定为false的值:undefined,null, NaN, “”, 0, false

原文地址:https://www.cnblogs.com/Walker-lyl/p/5855189.html