javascript简史
- 微软IE和网景在浏览器上的竞争
- ECMAScript,由ECMA-262定义,提供核心语言功能 `ECMA 欧洲计算机制造商协会
- 一个完整的Javascript的组成有
核心(ECMAScript)
,文档对象模型(DOM)
,浏览器对象模型(BOM)
在html中使用javascript
js的三种调用方式
<script>
init();
</script>
<script type="text/javascript" src="main.js"></script>
<input type="button" onclick="javascript:alert('test')">
思考: 比较这几种方式的优劣,效率上有什么差异性?
<script src="" async/defer></script>
<!--html5 新属性-->
思考: 用法,范围,比较和defer的区别
async,表示当前脚本不必等待其他脚本,也不必阻塞文档呈现,不能保证异步脚本按照它们在页面中出现的顺序执行
defer,可以让脚本在文档呈现后再执行,延迟脚本总是按照它们的顺序执行的。
< noscript>元素,当浏览器不支持javascript脚本
javascript数据结构
ECMAScript有如下5中基本数据结构
Undefined
Boolean
Null
Number
String
typeof 操作符,用来检测给定变量的数据类型
- Undefined - undefined
var message;
// var age
alert(typeof message);
alert(typeof age);
结果都是undefined,message 声明没初始化,使用var生命变量但未对其进行初始化的,默认undefined;age没有进行声明,传递给alert()函数会导致一个错误,对于未声明变量这么操作没什么意义比如delete,也是返回undefined。所以
对变量进行变量声明能通过typeof,辨别变量没有被初始化而不是没声明
- Null -null 表示空对象指针 所以typeof 返回object
一般我们在声明一个对象变量时候,应该让变量保存null,这样通过typeof 便可以知道,可以区分null和undefined
- Boolean - boolean 只有true/false,Boolean() 转换其他数据类型 为true/false
- Number
1. 对于float数,为什么0.1+0.2 != 0.3?
2. NaN(Not a Number)的设计初衷,表示一个本该返回数字却没返回数字的情况,比如1/0
3. 数值转换 Number() parseInt() parseFloat()
- String 字符串类型
- Object ECMAScript的对象是一组数据和功能的集合
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。