首页 > 代码库 > JavaScript初学基本概念和语法

JavaScript初学基本概念和语法

ECMAScript 的语法大量借鉴了C及其他类C语言(如Java 和Perl)的语法。

1. 区分大小写

2.标识符 

  2.1 第一个字符必须是一个字母、下划线(_)或一个美元符号($);

  2.2 其他字符可以是字母、下划线、美元符号或数字

  按照惯例,ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写。

3. 注释

  与C语言同  

  // 单行注释

  /*只是一个多行

   *注释

  */

4. 严格模式 “use strict”

5. 语句 以一个分号结尾;如果省略分号,则由解释器确定语句的结尾,虽然语句结尾的分号不是必须的,但建议任何时候都不要省略它。

6. 关键字和保留字

break do instanceof typeof case else new var catch finally return void continue for switch while debugger* function this with default if throw delete in try

abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public

 7.变量定义

  var message="hi";

  var value=http://www.mamicode.com/1.0;

8.数据类型

 5种基本数据类型:Undefined,Null,Boolean,Number,String,还有一种复杂数据类型Object

ECMAScript不支持任何创建自定义类型的机制,二所有值最终都将是上述6种数据类型之一。

typeof 操作符

var message="hello";  console.log(typeof(message));  -->string

var value=http://www.mamicode.com/100.9; console.log(typeof(value)); -->number

undefined 类型, 未经初始化的值默认都会取得undefined的值。

null类型,使用typeof 操作返回Object

Boolean类型

Number类型

Number.MAX_VALUE, Numer.NEGATIVE_INFINITY,Number.POSITIVE_INFINITY

NaN (Not a Numebr 非数值)

Number()函数转换规则:

a。如果是Boolean值,true和false分别被转化为1和0

b。如果是数字值,只是简单的传入和返回

c。如果是null值,返回0

d。如果是undefined,返回NaN

e。如果是字符串,会做类似C语言的转换,转换不成功,返回NaN

f。如果是对象,则调用对象的valueOf()方法,然后依据前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toSring()方法,然后再次依照前面的规则转换返回的字符串值。

Object类型

var o=new Object();

如果不给构造函数传递参数,可以省略后面的一对圆括号,如 var o=new object;

Object的每个实例都具有下列属性和方法。

constructor, hasOwnProperty(propertyName), isPrototypeOf(object), propertyIsEnumerable(propertyName),toLocaleString, toString,valueOf.

操作符 ++, --, +, - , *,/, %, &, | , ~ , << , >>, >>>

布尔操作符

!,&&,||

关系操作符

<,>,<=,>=, ==,!=,===,!==

 

语句:

if (contition) statement1 else statement2

 

if (condition1) statement1

  else f (condition2)

   statement2

  else statement3

 

do{ statement

} while (expression);

 

while (expression) statement;

for (initialization ;expression; post-loop-expression) statement;

for (property in expression) statement;

建议在使用for-in循环前,先检测确认该对象的值不是null或undefined。

label语句: 使用label语句可以在代码中添加标签,以便将来使用。

label: statement;

break和continue 与C语言同,在循环体中控制代码执行。

with 语句,主要目的是为了简化多次编写同一个对象的工作。(严格模式下不允许使用with语句)

with (expression) statement

var qs=location.search.substring(1);

var hostname=location.hostname;

var url=location.href;

上面的代码都包含location对象,如果使用swith语句,可以把上面的代码改写为如下所示的代码:

with (location) {

var gs=search.substring(1);

var hostname=hostname;

var url=href;

}

switch语句: 与C语言同,但是在JS中,可以在switch中使用任何数据类型。

 

函数

function functionName (arg0,arg1,...,argN) {
  statements;

}

//e.g.
function sayHi (name,message) {
 alert ("hello "+ name +","+ message);
}

 可以向JS函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。

由于不存在函数签名的特性,JS函数不能重载。

 

JavaScript初学基本概念和语法