JS中字符串是不可变类型
javascript中明确规定了原始值(null、undefined、数值、布尔值、字符串)的值是不可改变的,这里的不可改变是指改变字符串本身在js中是禁止操作的。也就是说每新建一个字符串,都会开辟一块新的内存:
var lang = 'java';
lang = lang +'Script';
假设保存第一行字符串的地址是A,第二行的地址是B;字符串不可改变的意思就是:执行第二条语句的时候,是新建一个字符串('java'+'Script'),然后将原来指向A的lang改为指向新的地址,即B,若字符串可以修改,那么此时应该是修改原来A地址中的值为javaScript,但是这样在js中是禁止的,所以说字符串是不可修改的。
JS内置有三种内置类型:Number、Boolean、String,Data、RegExp(正则表达式,regular expression)是要使用new才可以建立的对象,Math不需要
Array的基本用法
var cha=a.join("-")
undefined
typeof cha
'string'
cha
'1---------'
for (let i = 0; i < 10; i++) {
a[i]=i;
}
9
a
(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.reverse()
(10) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
a.sort()
(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a
(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Data数据类型
Math数据类型
RegExp数据类型
JS事件
Onchange示例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>onchange</title>
</head>
<body>
<select id="city">
<option value="bj">北京</option>
<option value="tj">天津</option>
<option value="sh">上海</option>
</select>
<select id="area">
<option>海淀</option>
<option>朝阳</option>
</select>
</body>
<script type="text/javascript">
var select = document.getElementById("city");
select.onchange = function(){
var optionVal = select.value;
var area = document.getElementById("area");
if('bj' == optionVal){
area.innerHTML = "<option>海淀</option><option>朝阳</option>";
}else if('tj' == optionVal){
area.innerHTML = "<option>南开</option><option>静海</option>";
}else if('sh' == optionVal){
area.innerHTML = "<option>浦东</option><option>黄浦</option>";
}else{
alert("error");
}
};
</script>
</html>