JavaScript的组成
谈到JavaScript的组成,首先要提到ECMAScript。ECMAScript是由JavaScript的创造者Netscape公司将JavaScript提交给国际标准化组织ECMA的基础上指定出来的。所以可以给出结论,ECMAScript是JavaScript的规格,JavaScript是ECMAScript的一种实现。在日常生活中,碰到ECMAScript,是可以使用JavaSc替换的。 JavaScript的一开始的设计目的就是用作网页脚本,所以JavaScript的组成部分被设计如下:
1、 ECMAScript,JavaScript的核心语法部分。
2、 文档对象模型——DOM:提供访问和操作网页内容的方法和接口。
3、 浏览器对象模型——BOM:提供与浏览器交互的方法和接口。
JavaScript在HTML内的使用
JavaScript类似于CSS的引用,在HTML内的引用,有下面三种: 1、 行内引入 写在标签内部的属性内,一般配合事件使用。在实际开发中一般不推荐使用这种方式。
<!-- 鼠标点击按钮时,弹窗-->
<button onclick="alert()">按钮</button>
2、 内部引入 JavaScript代码可以直接嵌在网页的任何地方,通常我们会在head标签或body标签中使用script标签,在script标签中书写JS代码。
<head>
<script type="text/javascript">
js代码
</script>
</head>
注:type属性在html5中可以省略 3、 外联引入 通常在head标签或body标签中使用script标签并使用src属性使用外部的js 文件。
script src="click.js"> </script>
语法
标识符
标识符是名称。标识符用于命名变量(以及关键词、函数和标签)。在 JavaScript 中,首字符必须是字母、下划线(-)或美元符号($)。连串的字符可以是字母、数字、下划线或美元符号。 提示:数值不可以作为首字符。这样,JavaScript 就能轻松区分标识符和数值。 JavaScript是严格区分大小写,对于lastName 和 lastname ,JavaScript会区分开来。
表达式
JavaScript的表达式语法和Java语言类似,每个语句以;结束,语句块用{...}。但是,JavaScript并不强制要求在每个语句的结尾加;,浏览器中负责执行JavaScript代码的引擎会自动在每个语句的结尾补上;。
注:由于这个特性,下面的代码会无法实现预期。
function(){
return
{
i=1
};
}
原因是解释器自动在return语句后面加上了分号。
function(){
return;
{
i=1
};
}
以//开头直到行末的字符被视为行注释,注释是给开发人员看到,JavaScript引擎会自动忽略。
// 这是一行注释
alert('hello'); // 这也是注释
另一种块注释是用/.../把多行字符包裹起来,把一大“块”视为一个注释:
/* 从这里开始是块注释
仍然是注释
仍然是注释
注释结束 */
常用语句
1、 if...else...语句
JavaScript使用if () { ... } else { ... }来进行条件判断。例如,根据分数显示不同内容,可以用if语句实现如下
var score = 80;
if (score >= 80) { // 如果score >= 80为true,则执行if语句块
alert('Great');
} else { // 否则执行else语句块
alert('Come on');
}
注:
- 如果
{...}内只有一行语句,{}可以省略。 - 对于if语句,else是可选的。
如果要使用多重条件判断的话,可以使用多个
if...else...的组合:
var score = 80;
if (score >= 80) { // 如果score >= 80为true,则执行if语句块
alert('Great');
} else if(score >= 60){ // 如果 80> score >= 60为true,则执行该语句块
alert('good');
} else { // 否则执行else语句块
alert('Come on');
}
2、 for、while循环语句
- for循环
for循环通过初始条件、结束条件和递增条件来循环执行语句块:
var x = 0;
var i;
for (i=1; i<=10000; i++) {
x = x + i;
}
x; // 50005000
for循环最常用的地方是利用索引来遍历数组:
var arr = ['Apple', 'Google', 'Microsoft'];
var i, x;
for (i=0; i<arr.length; i++) {
x = arr[i];
console.log(x);
}
注:
for循环的3个条件都是可以省略的,如果没有退出循环的判断条件,就必须使用break语句退出循环,否则就是死循环。
- while循环 while循环只有一个判断条件,条件满足,就不断循环,条件不满足时则退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
var x = 0;
var n = 99;
while (n > 0) {
x = x + n;
n = n - 2;
}
x; // 2500
在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。
- do ... while循环 最后一种循环是do { ... } while()循环,它和while循环的唯一区别在于,不是在每次循环开始的时候判断条件,而是在每次循环完成的时候判断条件:
var n = 0;
do {
n = n + 1;
} while (n < 100);
n; // 100
用do { ... } while()循环要小心,循环体会至少执行1次,而for和while循环则可能一次都不执行。
引用
2、 Javascript教程;