• JavaScript——简介


    一、JavaScript起源

      1、1994年,网景公司(Netscape)发布了Navigator浏览器0.9版

        是历史上第一个比较成熟的网络浏览器 , 但这个版本的浏览器只能用来浏览,不具备与访问者互动的能力

      2、网景公司当时有两个选择:

        允许现有语言直接嵌入网页(推广方便,兼容性差)

        发明一种全新语言(推广难,不用考虑兼容性)

           3、1995年Sun公司将Oak语言改名为Java,正式向市场推出, 许诺这种语言可以"一次编写,到处运行"(Write Once, Run Anywhere)

        4、网景公司与Sun公司联盟 ,雇佣 34岁的系统程序员Brendan Eich

       被指定为这种"简化版Java语言"的设计师 , 为了应付公司安排的任务,他只用10天时间就把Javascript设计出来了。

       他的设计思路是这样的:

    (1)借鉴C语言的基本语法;

    (2)借鉴Java语言的数据类型和内存管理;

    (3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;

    (4)借鉴Self语言,使用基于原型(prototype)的继承机制。

      所以,Javascript语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。这是由Brendan Eich(函数式编程)与网景公司(面向对象编程)共同决定的。

    二、JavaScript用途

    一般用来编写客户端脚本,来为html页面添加交互行为,是前台语言,而不是后台语言(node.js除外)

    三、JavaScript的特点

      1、解释执行(浏览器就是解释器):事先不编译、逐行执行、无需进行严格的变量声明。

      2、简单易用:可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序。

      3、基于对象:内置大量现成对象,编写少量程序可以完成目标 

    四、JavaScript组成

      1、ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

      2、文档对象模型(DOM) Document object model:操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

      3、浏览器对象模型(BOM) Broswer object model:操作浏览器部分功能的API。比如让浏览器自动滚动。 

    五、ECMAScript和JavaScript的关系

    1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。
    
    该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。
    
    因此ECMAScript和JavaScript的关系是,前者是后者的标准,后者是前者的一种实现。

    六、ECMAScript的历史

    年份 名称 描述
    1997 ECMAScript 1 第一个版本
    1998 ECMAScript 2 版本变更
    1999 ECMAScript 3

    添加正则表达式

    添加try/catch

      ECMAScript 4 没有发布
    2009 ECMAScript 5

    添加"strict mode"严格模式

    添加JSON支持

    2011 ECMAScript 5.1 版本变更
    2015 ECMAScript 6(ES6) 添加类和模块
    2016 ECMAScript 7

    增加指数运算符(**)

    增加Array.prototype.includes

     

     

     

     

     

     

     

     

     

     

    七、js是弱类型、动态语言

    #1、弱类型、强类型
    按照计算机语言的类型系统的设计方式,可以分为强类型和弱类型两种。二者之间的区别,就在于计算时是否可以不同类型之间对使用者透明地隐式转换。从使用者的角度来看,如果一个语言可以隐式转换它的所有类型,那么它的变量、表达式等在参与运算时,即使类型不正确,也能通过隐式转换来得到正确地类型,这对使用者而言,就好像所有类型都能进行所有运算一样,这样的语言被称作弱类型
    
    #2、动态语言,静态语言
    动态语言:声明变量时无需指定类型
    静态语言:声明变量时必先指定类型
    
    
    #3、JavaScript是一种弱类型、动态语言,弱类型具体表现如下
    
    #2.1、一般规律是,约束越强越不容易出错,但编写程序时也越麻烦。在JavaScript中,因为约束比较弱,所以容易出现这种错误:最简单的例子:
     var a =200;
    
    
     var b ="1";
    
    
     var c= a + b;
    
    
    你可能期望c是201,但实际上它是"2001",这个错误在强类型语言中决不会出现。然而正是因为JavaScript没有这些约束,所以可以很方便地拼接数字和字符串类型。
    
    #2.2、再比如下面这个例子:
    var a = '11';
    a = a - '';
    alert(typeof a);// -->number
    “-”可以是一元运算符(取负),也可以是二元(减法运算)
    
    js是弱类型语言
  • 相关阅读:
    http协议(二、报文格式)
    http协议(一、基础部分)
    echarts双轴轴线不对齐的解决办法
    svn 强制解锁的解决办法
    分析器错误
    JQgrid for asp.net
    养生宝典,值得一读(健康养生)
    ORM框架是什么
    WebSite和WebApplication的区别
    MVC3和MVC4相关问题
  • 原文地址:https://www.cnblogs.com/guojieying/p/13705432.html
Copyright © 2020-2023  润新知