下面属于javascript内部对象的有_JavaScript诞生历史

abaf78d0d429cb54f1cccf54a37c48c2.png

一、JavaScript历史

  • 1995年 网景招募了Brendan Eich,艾克在1995年5月花了十天时间就把原型设计出来,网景为了让这门语言搭上Java这个编程语言“热词”,将其改名为JavaScript

6e2514ee694c874f3c52ebf40729a6bc.png
Brendan Eich
  • 1996年8月,IE3发布,微软发布JScript,浏览器大战开始
  • 1996年11月,网景向ECMA(欧洲极端及制造商协会)提交语言标准
  • ECMAScript标准的制定:
    • 1997年6月,ECMA以JavaScript语言为基础制定了ECMAScript标准,第一版发布
    • 1999年12月,第三版发布,该版本使用最广
    • 第四版流产
    • 2009年12月,第五版发布
    • 2015年6月,第六版发布,新浏览器都支持
    • 之后每年发布一版,版本号以年份命名

二、JavaScript概论

  • 完整的JavaScript包括以下几个部分:
    • ECMAScript:描述了该语言的语法和基本对象
    • 文档对象模型(DOM):描述处理网页内容的方法和接口
    • 浏览器对象模型(BOM):描述与浏览器进行交互的方法和接口
  • JavaScript的基本特点为:
    • 一种解释性脚本语言(代码不进行预编译)。
    • 主要用来向HTML页面添加交互行为
    • 可以直接嵌入HTML页面,也可以写成单独的js文件,这样有利于结构和行为的分离。
  • JavaScript常用来完成以下任务:
    • 在HTML页面中嵌入动态文本
    • 对浏览器事件作出响应
    • 读写HTML元素
    • 在数据被提交到服务器之前验证数据
    • 检测访客的浏览器信息
    • 控制cookies,包括创建和修改等

JavaScript的10个设计缺陷

  1. 不适合开发大型项目程序,没有名称空间(namespace),很难模块化;

2. Javascript提供的标准函数库非常小,只能完成一些基本操作,很多功能都不具备;

3. null和undefined两者非常容易混淆,null属于对象(object)的一种,表示对象为空,undefined是一种数据类型,表示未定义。

typeof 

4. 难以控制全局变量:任何一个函数内部都可以生成全局变量,大大加剧了程序的复杂性;

5. 若忘记写分号,解释器自动在行末插入分号,常常导致一些错误;

 function(){

    return
      {
        i=1
      };
  }
上面这个函数根本无法达到预期的结果,返回值不是一个对象,而是undefined。
这也是为什么,老师们会说 return 后面不能换行的原因。

6. 加号运算符:+号作为运算符,有两个含义,可以表示数字与数字的和,也可以表示字符与字符的连接。

1 

如果一个操作项是字符,另一个操作项是数字,则数字自动转化为字符。

"1" 

7. NaN是一种数字,表示超出了解释器的极限。

NaN 不等于任何值,包括它本身

8. 数组和对象的区分

由于Javascript的数组也属于对象(object),所以要区分一个对象到底是不是数组,相当麻烦,下面代码是一种方式:

if 

9. "=="和"==="

"=="用来判断两个值是否相等。当两个值类型不同时,会发生自动转换,得到的结果非常不符合直觉,推荐任何时候都使用"==="(精确判断)比较符

10. 基本类型的包装对象

Javascript的三种基本数据类型(字符串、数字和布尔值)都有相应的建构函数,可以生成字符串对象、数字对象和布尔值对象。

new 

但容易造成混淆

alert

参考:

维基百科​zh.wikipedia.org Javascript诞生记 - 阮一峰的网络日志​www.ruanyifeng.com
3bed84d4043e090170e14d065d502e73.png
Javascript的10个设计缺陷 - 阮一峰的网络日志​www.ruanyifeng.com
853556d35c3d201e1645d9d6767354d1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值