这几天主要是JS的初步学习。
1.Javascript的实现
- 核心:ECMAscript–提供核心语言
- 文档对象模型(DOM)–提供访问和操作网页内容的方法和接口
- 浏览器对象模型(BOM)–提供与浏览器交互的方法与接口
2.ECMA-262规定的内容
- 语法
- 类型
- 关键字
- 操作符
- 语句
- 对象
- 保留字
延迟脚本
<script type="text/javascript" defer="defer" src=" "></script>
表明了脚本在执行时不会影响页面的构造。脚本会被延迟到整个页面都解析完毕后运行。
HTML5中会忽略设置的defer属性,所以将延迟脚本放在页面的底部仍是最佳选择
异步脚本
<script type="text/javascript" async src=" "></script>
asynce的目的是不让页面等待两个脚本下载和执行
与defer不同的是,async不保证他们按照指定的先后顺序执行
外部文件的优点
- 可维护性
- 可缓存
- 适应未来:通过外部文件包含了javascript,无需使用XHTML的CDATA或注释hack。
noscript元素
包含<noscript>
元素只有在下列情况下才会显示出来
- 浏览器不支持脚本
- 浏览器支持脚本,但脚本被禁用
eg:<head><script type="text/javascript" defer="defer"></script></head>
<body><noscript><p>本界面需要支持(开启)Javascript</p></noscript></body>
标识符
指变量,函数,属性的名字,或者函数的参数。
规则如下:
- 第一个支付必须是字母,下划线、或者一个美元符号
- 其他字符可以是字母、下划线、美元符号和数字。、
变量
定义变量时要用var操作符。
eg:var message="hi"
未经过初始化的变量,会保存一个特殊的值undefined,也支持直接初始化变量。
var定义的变量将成为该变量的作用域中的局部变量
eg:function test(){
var message="hi" //局部变量
}
test();
alert(message);//错误
可以省略var,创造一个全局变量
eg:function test(){
message="hi";//全变
}
test();
alert(message);
可以使用一条语句定义多个变量。
数据类型
- 5种简单数据类型
Undefined
Null
Number
String
Boolean - 一种复杂的数据类型
object:由一组无序的名值对组成