字符串属性和方法
原始值字符串,如'liang', 没有属性和方法(因为他们不是对象)。
原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。
字符串属性
constructor : 返回创建字符串属性的函数
length : 返回字符串的长度
prototype : 允许您向对象添加属性和方法
字符串方法
charAt() : 返回指定索引位置的字符
charCodeAt() : 返回指定索引位置字符的 Unicode 值
concat() : 连接两个或多个字符串,返回连接后的字符串
fromCharCode() : 将 Unicode 转换为字符串
indexOf() : 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() : 返回字符串中检索指定字符最后一次出现的位置
localeCompare() : 用本地特定的顺序来比较两个字符串
match() : 找到一个或多个正则表达式的匹配
replace(): 替换与正则表达式匹配的子串
search() : 检索与正则表达式相匹配的值
slice() : 提取字符串的片断,并在新的字符串中返回被提取的部分
split() : 把字符串分割为子字符串数组
substr() : 从起始索引号提取字符串中指定数目的字符
substring() : 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() : 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() : 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() : 把字符串转换为小写
toString() : 返回字符串对象值
toUpperCase() : 把字符串转换为大写
trim() : 移除字符串首尾空白
valueOf() : 返回某个字符串对象的原始值
if...Else 语句
- if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
- if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
- if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
- switch 语句 - 使用该语句来选择多个代码块之一来执行
如:var time = new Date().getDay(); //返回星期
switch(time){
case 0 : hua = '现在是星期日';
break;
case 1 : hua = '现在是星期一';
break;
case 2 : hua = '现在是星期二';
break;
case 3 : hua = '现在是星期三';
break;
case 4 : hua = '现在是星期四';
break;
case 5 : hua = '现在是星期五';
break;
case 6 : hua = '现在是星期六';
break;
}
document.getElementById('box').innerHTML = hua;
default 关键词
不同类型的循环
- for - 循环代码块一定的次数
- for/in - 循环遍历对象的属性
- while - 当指定的条件为 true 时循环指定的代码块
- do/while - 同样当指定的条件为 true 时循环指定的代码块
注意:定义了数组后对数组进行赋值,中间如有某些下标未被使用(即未被赋值),在遍历的时候,采用一般的 for 循环和 for...in 循环得到的结果不同。
for...in 循环会自动跳过那些没被赋值的元素,而 for 循环则不会,它会显示出 undefined。
fon循环 对比fon in
var array = new Array(); var array = new Array();
array[0] = 1; array[0] = 1;
array[1] = 55; array[1] = 55;
array[2] = 58; array[2] = 58;
array[4] = 24; array[4] = 24;
array[6] = 35; array[6] = 35;
var aq1 = ''; var i;
for(var i = 0; i < 7; i++){ var aq1 = '';
aq1 += array[i] + '<br/>'; for(i in array){
} aq1 += array[i] + '<br/>';
box.innerHTML = aq1; // 输出:1 55 58 undefined 24 undefined 35 }
box.innerHTML = aq1; // 输出:1 55 58 24 35
For/In 循环
for/in语句循环遍历对象的属性:
function liang(){
var box = document.getElementById('box');
// fon in 循环对象
var aq1 = '';
var i;
var person = {
names : 'liangs',
length : '10',
age : '20',
exe : 'nu',
};
for(i in person){
aq1 += person[i] + '<br/>';
}
box.innerHTML = aq1;
}
while 循环
只要指定条件为 true,循环就可以一直执行代码块。
while 循环会在指定条件为真时循环执行代码块。
// while循环
var aq1 = '';
var i = 0;
while(i < 5){
aq1 += '输出的数字是:' + i + '<br/>';
i++; //要注意,如果没有迭代条件会一直为真,会进入无限循环,浏览器崩溃。
}
box.innerHTML = aq1;
do/while 循环
do/while 循环是 while 循环的变体。该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环
使用 do/while 循环。该循环至少会执行一次,即使条件为 false 它也会执行一次,因为代码块会在条件被测试前执行
如:// du while循环
var aq1 = '';
var i = 7; //如果 i < 5,那么符合条件会正常输出循环
do{
aq1 += '输出的数字是:' + i + '<br/>';
i++; //要注意,如果没有迭代条件会一直为真,会进入无限循环,浏览器崩溃。
}
while(i<5){
box.innerHTML = aq1; //最后输出结果是7,因为该循环至少会执行一次,
//即使条件为 false 它也会执行一次,因为代码块会在条件被测试前执行,
//所以即使i已经等于 8 ,已经大于 5了,依然能输出第一轮的i的值 7
}
比较 for 和 while
使用 for 循环来显示 cars 数组中的所有值:
// 使用 for 循环来显示 cars 数组中的所有值
var as1 = ['liang', 'tu', 'hua', 'hermit'];
var hua = '';
for(var i = 0; as1[i]; i++){
hua += as1[i] + '<br/>';
}
box.innerHTML = hua;
// 使用 while 循环来显示 cars 数组中的所有值:
如: var as1 = ['liang', 'tu', 'hua', 'hermit'];
var i = 0;
var hua = '';
while (as1[i]){
hua += as1[i] + '<br/>';
i++;
}
box.innerHTML = hua;