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

8、

最新文章

  1. 用好spring mvc validator可以简化代码
  2. c#资料
  3. Android开发笔记之《Window下安装Ubuntu双系统,Grub无法显示Window选项》
  4. java基础之——DecimalFormat格式化数字
  5. WEB服务器配置
  6. php中关于 left join 的分页显示
  7. 将编码从GB2312转成UTF-8的方法汇总(从前台、程序、数据库)
  8. S1 :数组迭代方法
  9. springMVC之事务配置(问题来源:为什么数据保存不了)
  10. C#Stimulator项目&gt;&gt;&gt;C/C++ DLL的生成和调用,Windows下的多线程
  11. const和非const函数重载
  12. lpc1768的PWM使用
  13. python脚本 随机定位坐标
  14. winwebmail设置能用foxmail收发邮件
  15. visual studio相关操作
  16. PHP正则式PCRE
  17. GET与POST请求的区别
  18. 循环神经网络(RNN)--学习笔记
  19. Git 工具 - 储藏(Stashing)
  20. C# List 作为参数传递的值变化

热门文章

  1. 一分钟搞定触手app主页酷炫滑动切换效果
  2. Unity3D 之IAP
  3. html 绘图阴影和透明度
  4. 卸载Linux自带openjdk
  5. 对LCD接口的认识
  6. Ubuntu配置apache2.4配置虚拟主机遇到的问题
  7. 使用Erlang实现简单的排序算法:快速排序,冒泡排序,插入排序
  8. 一定要搜藏的20个非常有用的PHP类库
  9. 文件大小转换(b,kb,M,GB/TB)
  10. 【hiho一下】第一周 最长回文子串