基本概念:
一 语法:javascript的语法与以及其他类c语言相似
1.1 变量名的命名区分大小写
1.2 变量,函数,属性的名字的命名要符合标识符规则:
第一个字符必须是一个字母、下划线(_)或一个美元符号($)
其他字符可以是字母、下划线、美元符号或数字。
1.3注释:
javascript分为单行注释和多行注释
单行注释://单行注释
多行注释:/*多行注释*/
1.4 语句
语句以一个分号结尾,如果省略分号,则由解析器确定语句的结尾.但是我不推荐那样做.结尾语句可以不加分号,但是容易留下安全隐患,所以建议任何时候都在句末加分号.
二 关键字和保留字
不要将自定义变量和函数,属性名称命名为关键字或者保留字.
javascript目前的关键字有:
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
保留字是预留的关键字,他们很有可能在将来被作为关键字.一下是javascript得保留字:
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
三 数据类型
3.1 typeof
检测给定变量的数据类型,使用typeof
有可能返回一下信息:
"undefined"——如果这个值未定义;
"boolean"——如果这个值是布尔值;
"string"——如果这个值是字符串;
"number"——如果这个值是数值;
"object"——如果这个值是对象或null;
"function"——如果这个值是函数。
typeof 操作符的操作数可以是变量(message),也可以是数值字面量。注意,
typeof 是一个操作符而不是函数
3.2undefined
变量声明之后没有进行初始化,默认的值就是undifined
未声明的变量使用typeof也是返回undefined
但是两者是有区别的,比如:
var message; // 这个变量声明之后默认取得了undefined 值
// 下面这个变量并没有声明
// var age
alert(message); //"undefined"
alert(age); // 产生错误
3.3null类型
从逻辑上来讲,null值表示空对象的指针.undefined是派生至null类型,所以
alert(null == undefined); //true
但是它们的用途是不一样的,所以, 只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存null 值。这样做不仅可以体现null 作为空对象指针的惯例,而且也有助于进一步区分null 和undefined。
3.4Boolean类型,
Boolean类型只有两个值true和false,多用于判断.需要注意的是,Boolean类型是区分大小写的
3.5Number类型
整数:
最基本的数值直面量格式是10进制,除了十进制外,整数还可以由8进制和16进制表示, 。其中,八进制字面值的第一位必须是零(0),然后是八进制数字序列(0~7)。如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值将被当作十进制数值解析。十六进制字面值的前两位必须是0x,后跟任何十六进制数字(0~9 及A~F)。其中,字母A~F可以大写,也可以小写.
浮点数
浮点数数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。虽然小
数点前面可以没有整数, 但我们不推荐这种写法. 由于保存浮点数值需要的内存空间是保存整数值的两倍,所以当小数点后面没有数值时,javascript会自动将它转化为整数.
NaN
NaN,即非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了). NaN 本身有两个非同寻常的特点:
首先,任何涉及NaN 的操作(例如NaN/10)都会返回NaN
其次,NaN 与任何值都不相等,包括NaN 本身。
3.6 string类型:
String 类型用于表示由零或多个16 位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(")或单引号(')表示.不过以双引号开始一定要以双引号结尾,以单引号开始一定要以单引号结尾.
String 数据类型包含一些特殊的字符字面量,也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。
javascript 中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量.
3.7object类型
ECMAScript 中的对象其实就是一组数据和功能的集合。对象可以通过执行new 操作符后跟要创建的对象类型的名称来创建。而创建Object 类型的实例并为其添加属性和(或)方法,就可以创建自定义对象,如下所示:
var o = new Object();
如果不给构造函数传递参数,则可以省略后面的那一对圆括号.