基础语法(可跳过)
语法
1.区分大小写
2.变量是弱类型的
3.每行结尾的分号可有可无
原始值和引用值
在许多语言中,字符串都被看作引用类型,而非原始类型,因为字符串的长度是可变的。ECMAScript打破了这一传统。
原始类型
即Undefined、Null、Boolean、Number和String。 提供了typeof运算符判断原始类型。
八进制数和十六进制数
var eightNum = 070;
等于十进制的 56。 也就是说八进制开头加0。
var sNum = 0x1f;
等于十进制的 31。 也就是说十六进制开头加0x。
浮点数
var fNum = 5.0;
fNum == 0.9999999999999999 (十六个9) 为false;
fNum == 0.99999999999999999(十七个9) 为true;
无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
String 类型
是唯一没有固定大小的原始类型。
每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1,依此类推。
下面列出了ECMAScript的字符字面量:
引用类型
Object
对象具有下列属性:
constructor
对创建对象的函数的引用(指针)。对于Object对象,该指针指向原始的Object()函数。
Prototype
对该对象的对象原型的引用。对于所有的对象,它默认返回Object对象的一个实例。
Object 对象还具有几个方法:
hasOwnProperty(property)
判断对象是否有某个特定的属性。必须用字符串指定该属性。(例如,o.hasOwnProperty("name"))
IsPrototypeOf(object)
判断该对象是否为另一个对象的原型。
PropertyIsEnumerable
判断给定的属性是否可以用for...in语句进行枚举。
ToString()
返回对象的原始字符串表示。对于Object对象,ECMA-262没有定义这个值,所以不同的ECMAScript实现具有不同的值。
ValueOf()
返回最适合该对象的原始值。对于许多对象,该方法返回的值都与ToString()的返回值相同。
Boolean 布尔对象
Number 对象
toFixed()
返回的是具有指定位数小数的数字的字符串表示。
科学计数法
指定几个数字表示,相当于上面两个方法的综合。
String 对象
下列方法均不改变原字符串
length属性
String对象具有属性length,它是字符串中的字符个数。
charAt()方法
返回的是包含指定位置处的字符的字符串。
charCodeAt()方法
查询字符char码
char表移步: blog.csdn.net/liehuo123/a…
concat()方法
连接字符串
indexOf() 和 lastIndexOf() 方法
indexOf()从开头开始查询,lastIndexOf()从结尾开始查询
返回字符所在索引
localeCompare() 方法
不常使用,比较字符串大小,大返回1,小返回-1,相等返回0。
感谢我的初中数学老师。
接下来参数为负数
如下图当slice的参数为-3时,参数转换为 length-3
如下图当substring的参数为负数时,参数转换为 0
转换同上
如下图当substring的两个参数中有负数时,总是转换为0,并且substring方法总是从数值小的开始截取到数值大的结束
toLowerCase()、toLocaleLowerCase()、toUpperCase() 和 toLocaleUpperCase()
instanceof 运算符 typeof运算符判断对象时比较无力,instanceof在这方面就比较给力了
但是instanceof不如typeof灵活,下图c是字符串值却不是String的示例,所以instanceof看不出c是字符串,typeof却能看出。
下图d为String示例所以为true,虽然不如typeof灵活,但是判断对象更加准确,所以instanceof能判断出d是字符串,typeof只能判断出是对象
后面我会接着发ECMASrcipt 第二篇 运算符篇