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>