12 JavaScript 特殊字符
JavaScript中有一些特殊的字符,如果想要在字符串中使用,需要加上一个反斜线。 我们在之前已经看过好多应用字符串的例子,如果现在想输出内容将是:小明说:\我是菜鸟我怕谁?\。
该怎么办呢?双引号被当作javascript标记字符串开始和结束的符号,我们怎么能在字符串里引入双引号呢?看看下面这个例子。
document.write(\小明说:\\\我是菜鸟我怕谁?\\\。\
我们在双引号前面加上一个反斜线就可以了。在JavaScript中有很多这样具有功能的特殊字符,如果需要把它们插入字符串都需要在前面加上一个反斜线\。
特殊字符列表
JavaScript特殊字符代码 代码 \\' \\\\\& \\\\ \\n \\r \\t \\b \\f
输出 单引号 双引号 与符号 反斜线 换行 回车 制表符 后退 走纸换页 13 JavaScript 指导准则
(1)在书写JavaScript的过程中,应该记住它是区分大小写的,变量名和函数名都区分大小写。比如: Var A=1; Var a=2;
A和a是两个不同的变量。
(2)代码中多余的空格是被忽略的。例如下面两个语句 a=b+c;
a = b + c ;
他们是等价的。 (3)”\\”表示本行未完
前面已经说过,浏览器读到一行末尾会自动判定本行已经结束,不过我们可以通过在行末添加一个“\\”来告诉浏览器本行没有结束。
document.write(\ World!\
和
document.write(\我是菜鸟我怕谁!\
是完全一样的。
14 JavaScript 对象化编程
JavaScript 是使用“对象化编程”的,或者叫“面向对象编程”的。所谓“对象化编程”,意思是把 JavaScript 能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编程都以对象为出发点,基于对象。小到一个变量,大到网页文档、窗口甚至屏幕,都是对象。
JavaScript对象是可以是一段文字、一幅图片、一个表单(Form)等等。每个对象有它自己的属性、方法和事件。对象的属性是反映该对象某些特定的性质的,例如:字符串的长度、图像的长宽、文字框(Textbox)里的文字等等;对象的方法能对该对象做一些事情,例如,表单的“提交”(Submit),窗口的“滚动”(Scrolling)等等;而对象的事件就能响应发生在对象上的事情,例如提交表单产生表单的“提交事件”,点击连接产生的“点击事件”。不是所有的对象都有以上三个性质,有些没有事件,有些只有属性。引用对象的任一“性质”用“<对象名>.<性质名>”这种方法。
JavaScript对象有:基本对象、全局对象、文档对象。下面我们一一介绍。
14.1基本对象
(1)String 字符串对象
我们在之前的学习中已经就在使用字符串对象对象了,声明一个字符串对象的方法就是直接赋值。比如:
var s = \我有个7个字符\
定义了s这个字符串之后,我们就有了一个字符串对象,我们可以访问它的属性,使用它的方法。 属性
length 用法:<字符串对象>.length;返回该字符串的长度。 方法
charAt() 用法:<字符串对象>.charAt(<位置>);返回该字符串位于第<位置>位的单个字符。注意:字符串中的一个字符是第 0 位的,第二个才是第 1 位的,最后一个字符是第 length - 1 位的。
charCodeAt() 用法:<字符串对象>.charCodeAt(<位置>);返回该字符串位于第<位置>位的单个字符的 ASCII 码。
fromCharCode() 用法:String.fromCharCode(a, b, c...);返回一个字符串,该字符串每个字符的 ASCII 码由 a, b, c... 等来确定。
indexOf() 用法:<字符串对象>.indexOf(<另一个字符串对象>[, <起始位置>]);该方法从<字符串对象>中查找<另一个字符串对象>(如果给出<起始位置>就忽略之前的位置),如果找到了,就返回它的位置,没有找到就返回“-1”。所有的“位置”都是从零开始的。 lastIndexOf() 用法:<字符串对象>.lastIndexOf(<另一个字符串对象>[, <起始位置>]);跟 indexOf() 相似,不过是从后边开始找。
split() 用法:<字符串对象>.split(<分隔符字符>);返回一个数组,该数组是从<字符串对象>中分离开来的,<分隔符字符>决定了分离的地方,它本身不会包含在所返回的数组中。例如:'1&2&345&678'.split('&')返回数组:1,2,345,678。关于数组,我们等一下就讨论。 substring() 用法:<字符串对象>.substring(<始>[, <终>]);返回原字符串的子字符串,该字符串是原字符串从<始>位置到<终>位置的前一位置的一段。<终> - <始> = 返回字符串的长度(length)。如果没有指定<终>或指定得超过字符串长度,则子字符串从<始>位置一直取到原字符串尾。如果所指定的位置不能返回字符串,则返回空字符串。
substr() 用法:<字符串对象>.substr(<始>[, <长>]);返回原字符串的子字符串,该字符串是原字符串从<始>位置开始,长度为<长>的一段。如果没有指定<长>或指定得超过字符串长度,则子字符串从<始>位置一直取到原字符串尾。如果所指定的位置不能返回字符串,则返回空字符串。
toLowerCase() 用法:<字符串对象>.toLowerCase();返回把原字符串所有大写字母都变成小写的字符串。
toUpperCase() 用法:<字符串对象>.toUpperCase();返回把原字符串所有小写字母都变成大写的字符串。 (2)Array 数组对象
数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都
有一个“下标”,用来表示它在数组中的位置,是从零开始的。
数组的定义方法:
var <数组名> = new Array();
这样就定义了一个空数组。以后要添加数组元素,就用:
<数组名>[<下标>] = ...; 数组的下标用方括号括起来。
如果想在定义数组的时候直接初始化数据,请用:
var <数组名> = new Array(<元素1>, <元素2>, <元素3>...); 例如:
var myArray = new Array(1, 4.5, 'Hi');
定义了一个数组 myArray,里边的元素是:myArray[0] = 1; myArray[1] = 4.5; myArray[2] = 'Hi'。
定义时指定有n个空元素的数组,请用:
var a=new Array(n);
属性
length 用法:<数组对象>.length;返回:数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。 方法
join() 用法:<数组对象>.join(<分隔符>);返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间。这个方法不影响数组原本的内容。
reverse() 用法:<数组对象>.reverse();使数组中的元素顺序反过来。如果对数组[1, 2, 3]使用这个方法,它将使数组变成:[3, 2, 1]。
slice() 用法:<数组对象>.slice(<始>[, <终>]);返回一个数组,该数组是原数组的子集,始于<始>,终于<终>。如果不给出<终>,则子集一直取到原数组的结尾。
sort() 用法:<数组对象>.sort([<方法函数>]);使数组中的元素按照一定的顺序排列。如果不指定<方法函数>,则按字母顺序排列。在这种情况下,80 是比 9 排得前的。如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。<方法函数>比较难讲述,这里只将一些有用的<方法函数>介绍给大家。 按升序排列数字:
function sortMethod(a, b) { return a - b; }
myArray.sort(sortMethod);
按降序排列数字:把上面的“a - b”该成“b - a”。 (3)Math “数学”对象
Math对象,提供对数据的数学计算。下面所提到的属性和方法,不再详细说明“用法”,大家在使用的时候记住用“Math.<名>”这种格式。 属性
E 返回常数 e (2.718281828...)。 LN2 返回 2 的自然对数 (ln 2)。 LN10 返回 10 的自然对数 (ln 10)。
LOG2E 返回以 2 为低的 e 的对数 (log2e)。 LOG10E 返回以 10 为低的 e 的对数 (log10e)。 PI 返回π(3.1415926535...)。 SQRT1_2 返回 1/2 的平方根。 SQRT2 返回 2 的平方根。 方法
abs(x) 返回 x 的绝对值。
acos(x) 返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。 asin(x) 返回 x 的反正弦值。 atan(x) 返回 x 的反正切值。 atan2(x, y) 返回复平面内点(x, y)对应的复数的幅角,用弧度表示,其值在-π 到π之间。 ceil(x) 返回大于等于 x 的最小整数。 cos(x) 返回 x 的余弦。
x
exp(x) 返回 e 的 x 次幂 (e)。
floor(x) 返回小于等于 x 的最大整数。 log(x) 返回 x 的自然对数 (ln x)。 max(a, b) 返回 a, b 中较大的数。 min(a, b) 返回 a, b 中较小的数。
m
pow(n, m) 返回 n 的 m 次幂 (n)。
random() 返回大于 0 小于 1 的一个随机数。 round(x) 返回 x 四舍五入后的值。 sin(x) 返回 x 的正弦。 sqrt(x) 返回 x 的平方根。 tan(x) 返回 x 的正切。