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);
})('')
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 );