JavaScript学习-JS基本语法一

184 阅读4分钟

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 >= 80true,则执行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循环则可能一次都不执行。

引用

1、 Javascript的10个设计缺陷;

2、 Javascript教程;