您的位置:首页 > Web前端 > JavaScript

第三章:基本概念(语法和变量)

2017-03-13 14:46 176 查看

语法

JavaScript区分大小写。

标识符:变量、函数、属性名字、函数参数。标识符可以是按照下列格式规则组合起来的一个或多个字符,但不能使用关键字、保留字、true、false、null作为标识符:

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

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

标识符的字母可以包含扩展的ASCII或Unicode字母字符,但是不推荐这么做,按照惯例,命名一般使用驼峰法。

注释:

//单行注释

/*
* 多行注释
*/


严格模式(“use strict”),是一个编译指令,告诉javascript引擎切换到严格模式(区别后续章节说明)。严格模式下,js执行结果会有很大不同,支持严格模式的浏览器包括IE 10+、Firefox 4+、Safari 5.1+、Opera 12+和Chrome。用法如下:

function doSomething() {
"use strict";
//函数体
}


编程习惯:js语句可以不在行末位加分号’;’但是不推荐这么做,另外需要用花括号的时候建议带上,即使代码只有一句。

ECMA-262下定义的关键字:

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


不怎么熟悉的关键字说明:typeof会返回一个变量的基本类型,只有以下几种:number,boolean,string,object,undefined,function;instanceof和java类似。

alert(typeof(1));//number
alert(typeof("abc"));//string
alert(typeof(true));//boolean
alert(typeof(m));//undefined
var a = {};
alert(a instanceof Object);  //true
var b = [];
alert(b instanceof Array);  //true
需要注意的是,instanceof只能用来判断对象和函数,不能用来判断字符串和数字等,如:
var b = '123';
alert(b instanceof String);  //false
alert(typeof b);  //string
var c = new String("123");
alert(c instanceof String);  //true


通过采用void 0取undefined比采用字面上的undefined更靠谱更安全,应该优先采用void 0这种方式。void 后面的代码会被运算,但是不会返回。

debugger;相当于打断点。

with: with语句的作用是将代码的作用域设置到一个特定的作用域中,基本语法如下:(在严格模式下不能使用with语句)

with (expression) statement;

缺点:理解javascript中的with关键字

性能问题

语义不明,调试困难

delete:删除对象的属性,不能删除对象。成功返回true。(详细原因暂时不明,留到后面再返回解决)

保留字:

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


第五版把非严格模式下运行时的保留字缩减为下列这些:

class enum extends super const export import


严格模式下运行时的保留字还包括下列这些:

implements package public interface private static let protected yield


使用关键字命名会导致”Identifier Expected”错误,而使用保留字可能不会导致错误,取决于引擎。

变量

使用 var 关键字去声明一个变量。js变量是松散类型的,意味着可以用来保存任何类型的数据,但是一般不建议随意改变变量的类型。当在函数内部定义变量时不带var,会使其成为全局变量(不推荐,严格模式下有抛出ReferenceError错误)。使用var mess = “1”, test = false;可以同时定义多个变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript