JavaScript简介
JavaScript
JavaScript 是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
1、HTML 中的脚本必须位于 <script> 与 </script> 标签之间。
JavaScript代码存在形式
<!-- 方式一 --> <script type="text/javascript" src="JS文件"></script> <!-- 方式二 --> <script type="text/javascript"> Js代码 </script>
2、脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。(推荐放在body代码块底部)
由于Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在body代码块底部,那么即使js代码耗时严重,也不会影响用户看到页面效果,只是js实现特效慢而已。
3、变量
JavaScript中变量的声明是一个非常容易出错的点,局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量
var name = "zhangsan" # 局部变量
nam = "lisi" # 全局变量
4、注释
单行注释以 // 开头,多行注释以 /* 开始,以 */ 结尾
5、基本数据类型
数字(Number)
#定义 var page = 66; var age = Number(66); var a1 = 1,a2 = 2, a3 = 3; #转换 parseInt("1.2"); parseFloat("1.2");
字符串(String)
#定义 var name = "zhangsan"; var name = String("lisi"); #转换 var age_str = String(18);
#常用方法: name.trim() #去空格 name.charAt(index) #根据索引获取字符 name.substring(start,end) #切片 name.indexOf(char) #获取字符对应的索引位置 name.length #长度 name.match("") #查找字符串中特定的字符,找到的话,则返回这个字符
布尔(Boolean)
#布尔(逻辑)只能有两个值:true 或 false。 var x=true var y=false
数组(Array)
#创建 var names=new Array(); cars[0]="aa"; cars[1]="bb"; cars[2]="cc"; #或 var names = ['aa', 'bb', 'cc'] #或 var names =new Array('aa', 'bb', 'cc')
#常用方法: #添加 names.push("dd") #最后插入 names.unshift("dd") #最前插入 names.splice(index,0,'dd') #指定索引插入 #移除 names.pop() #数组尾部移除并获取 names.shift() #数组头部移除并获取 names.splice(index,count) #数组指定索引往后count个字符 #切片 names.slice(start,end) #合并 newArray = obj1.concat(obj2) #翻转 names.reverse() #字符串化 names.join('_') #长度 obj.length
对象(同字典)
#创建 var dic= {"name":"zhangsan" , 'age': 18}
#获取 dic.name; dic["age"];
undefined 和null
undefined 这个值表示变量不含有值。 可以通过将变量的值设置为 null 来清空变量。
6、序列化和反序列化
var dic={name: "zhangsan", age: 18} #序列化 s=JSON.stringify(dic) #反序列化 s1=JSON.parse(s)
7、循环
for循环
var names= ["aa", "bb", "cc"]; #数组:方式一 for(var obj in names){ console.log(obj ); #obj只会取到索引 console.log(names[obj ]); #根据索引取值 } #数组:方式二 for(var i=0;i<names.length;i++){ console.log(i); console.log(names[i]); #根据索引取值 }
#字典 var dic={name: "zhangsan", age: 18} for(var index in dic){ console.log(index); #key console.log(names[index]); #value }
while循环
while (条件) { 需要执行的代码 } #do/while 循环 # 该循环会在检查条件是否为真之前执行一次代码块,然后如果条件为真的话,就会重复这个循环。 do { 需要执行的代码 } while (条件);
8、条件语句
#if条件语句 if(条件){ #代码 }else if(条件){ #代码 }else{ #代码 }
#switch,case语句 switch(name){ case 'zhangsan': age = 18; break; case 'lisi': age = 19; break; default : age = 20; }
9、异常处理
try{ #在这里运行代码 } catch(err){ #在这里处理错误 } finally{ #最后执行 }
10、函数
#函数的声明 function func(arg){ return arg; } name=func("zhangsan")#执行 console.log(name) #匿名函数 var func = function(arg){ return arg; } func() #自执行函数 (function(arg){ console.log(arg); })('123')
11、面向对象
function Foo (name,age) { this.Name = name; this.Age = age; this.Func = function(arg){ return this.Name + arg; } } var obj = new Foo('zhangsan', 18); #创建对象 var ret = obj.Func("aaa"); console.log(ret); console.log(obj.Name ); console.log(obj.Age );