JavaScript 基本语法
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理
1、JavaScript代码的引用及注意事项
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<!--第一种引用方式-->
<script type="text/javascript">
//js代码区
</script>
<!--第二种引用方式,最常用-->
<script type="text/javascript" src="../jquery-3.1.0.js"></script>
<!--HTML有这两种引入JS的方法,但是你感觉到有什么可以再完善的地方吗?-->
<!--因为HTML代码是从上至下执行的,如果JS放在上面的话,就会导致必须先完成复杂的JS加载,然后才能显示网页。-->
<!--所以最好的做法是:将JS引用放到HTML的最底部,最后加载。-->
</head> <body> </body> </html>
2、变量的声明
#全局变量 age = 18 #局部变量 var age = 18
注:注释 // 或 /* */
<script type="text/javascript">
/*
name = 18
var name=18
*/
</script>
3、基本数据类型
数字(Number)

4、字符串类型String
var name = ' kongzhagen ';
var age_str = String(18);
常用方法:
name.length 结果:12
name.charAt(4) 结果:'g'
name.indexOf('g') 结果:4
name.substring(0,4) 结果:' kon'
names.slice(1,3) 结果:'ko' #两个索引的位置
name.trim() 结果:'kongzhagen'
布尔型Boolean
true,false均小写
Boolean(1==1) 结果:true Boolean(1==2) 结果:false
5、数组(列表)Array
var names=['a','b','c','d']
var ages=Array(11,22,33,44) #Number类型变数组
常用方法:
追加:
names.push('e') #列表后面追加 ["a", "b", "c", "d", "e"]
names.unshift('p') #列表前面追加["p", "a", "b", "c", "d", "e"]
names.splice(1,0,'qq') #在列表指定位置追加,在第1个位置追加qq,删除0个元素,有返回值 ["p", "qq", "a", "b", "c", "d", "e"]
移除:
names.pop() #移除最后一个元素,有返回值
names.shift() #移除最前面一个元素,有返回值
names.splice(1,2) #移除索引位置1,2的值
合并:
name=name1.concat(name2) #将name1和name2合并成一个新数组
反转:
sss.reverse() #数组反转
字符串化:
sss.join('-') #将一个数组的值用某个字符连接起来,成为一个新的字符串
长度:
sss.length #数组的长度
字典:
dic = {'k1':'v1','k2':'v2}
6、未定义值
var pp undefined
7、null
null是一个特殊值
怎么个特殊法呢?
8、循环格式:for/while(){}
经典格式:
#============数组============== <script> var names = ['alex','kzg','sam']; for (var i=0;i<names.length;i++){ console.log(i); #循环时获取的是索引 console.log(names[i]); } </script>
普通格式:
<script>
var names = ['alex','kzg','sam'];
for (var n in names){
console.log(n); #循环时获取的是索引
console.log(names[n]);
}
</script>
#===========字典=============
<script>
var dic = {'k1':'v1','k2':'v2','k3':'v3'};
for(var d in dic){
console.log(d);
console.log(dic[d]);
}
</script>
//while循环
while(条件){ // break; // continue;}
9、条件语句if(){}else if(){}else{}/switch(){case}
<script>
var name = 'li';
if (name == 'li'){
console.log('李明');
}else if(name == 'sun'){
console.log('孙前')
}else{
console.log('明哥')
}
</script>
//switch/case语句
<script>
var name = 'li';
switch(name){
case 'li':
console.log('liming');
break; #必须有,否则三个都会执行
case 'sun':
console.log('sunqian');
break;
default:
console.log('qiange');
break;
}
</script>
10、异常处理
<script>
try{
}
catch(e){ #e是错误的内容,除了python其它语言都有这个词
}finally{
}
</script>
11、函数:function f_name(){}
#声名函数
<script>
function myfun(arg){
return 'nnnnoooo';
};
console.log(myfun()); #这里可以不传参??
</script>
#匿名函数
<script>
var myf = function(arg){
return 'ooookkkk';
};
console.log(myf());
</script>
#自执行函数(函数)(参数)
<script>
(function myfun(arg){
console.log(arg);
})('123');
</script>
12、对象
<script>
// 定义一个对象函数
function Foo(arg1,arg2){
this.age1 = arg1;
this.age2 = arg2;
this.Func = function(arg){
return this.age1 + this.age2 + arg;
}
}
//初始化实例对象
var obj = new Foo(10,20);
//运用对象
var ret = obj.Func(30);
console.log(ret);
</script>
结果:60
13、序列化与反序列化
<script>
dic = {'k1':'v1','k2':'v2'};
var st = JSON.stringify(dic); #序列化
var ob = JSON.parse(st); #反序列化
console.log(typeof(ob));
</script>
浙公网安备 33010602011771号