一:JavaScript 变量
- 变量必须以字母开头
- 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
- 变量名称对大小写敏感(y 和 Y 是不同的变量)
提示:JavaScript 语句和 JavaScript 变量都对大小写敏感
name="alex" #默认是全局变量
var name="alex" #局部变量
如果定义了全局变量,别人就使用不了,所以习惯var定义局部变量,如果要使用全局变量,再把var去了
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> name="alex"; //全局变量 function func(){ var name="shisan"; //局部变量 } </script> </body> </html>
重新声明 JavaScript 变量
如果重新声明 JavaScript 变量,该变量的值不会丢失:
在以下两条语句执行后,变量 carname 的值依然是 "Volvo":
var carname="Volvo"; var carname;
二:基本数据类型
1)数字
javascript中不区分整数和浮点数。
可以转换
1)parseInt(),将某值转换成数字,不成功则NaN
2)parseFloat() 将值转换成浮点数,不成功则NaN
特殊值:
NaN:非数字, 可使用isNaN(num)来判断
Intinity:无穷大,可以使用isFinite(num)来判断
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> age=18; var i=parseInt(age); var f=parseFloat(age); </script> </head> <body> </body> </html>
2)字符串
字符串函数
obj.charAt(索引位置) 根据下标获取字符
obj.substring(起始位置,结束位置)
obj.length 获取当前字符串长度
obj.trim() 去除两边空格
obj.trimLeft()去除左边空格
obj.trimRight() 去除右边空格
obj.concat(n) 拼接
obj.indexOf(substring,start) 查找字符串第一个位置
obj.lastIndexOf(substring,start) 从后向前查找
obj.slice(start,end) 切片
obj.toLowerCase() 转小写
obj.toUpperCase() 转大写
obj.split(delimiter,limit) 分割
obj.search(regexp)
obj.match(regexp)
obj.replace(regexp)
3)(数组)列表
a=[1,2,3]
数组常用功能:
obj.length 数组长度
obj.push 尾部追加元素
obj.pop 尾部获取一元素
obj.unshift(ele) 头部插入元素
obj.shift() 头部移除元素
obj.splice(start,deletecount,value) 插入,删除,修改
obj.splice(n,0,val) 指定位置插入元素
obj.splice(n,1,val) 指定位置替换元素
obj.splice(n,0) 指定位置删除元素
obj.slice() 切片
obj.resverse() 反转
obj.join(sep) 将数组连接成字符串[11,22].join("-")
obj.concat() 连接数组
obj.sort()对数据元素进行排序
4)字典
a={"k1":"v1","k2":"v2"}
5)布尔类型
只有true和false,小写,和python不同
二:条件语句
if (){
}else if {}
else{}
条件测试:
== 值要相等
!=
=== 值要相等,类型也要相等
&& 与
|| 或
1=="1" true 1==="1" false
三:for循环
在javascript中有两种for循环:
第一种:
1)数据组在循环时,循环的是元素的索引
a=[11,22,33,44]
for (var item in a){
console.log(a[item]);
}
2)字典在循环时,获取的元素的key
a={"k1":"v1","k2":"v2"}
for (var item in a){
console.log(a[item]);
}
第二种:
for(var i =0;i<10;i=i+1){
}
a=[11,22,33,44]
for(var i=0;i<a.length;i=i+1){
}
字典不支持这种方式
四:函数定义
function 函数名(形参){
}
function func(a,b,c){
}
五:定时器
setInterval('函数()', 毫秒)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body>
<script>
function f1(){
console.log(1)//在console打印日志
}
//创建一个定时器,第一个参数是调用的方法,第二参数是毫秒
//setInterval("alert(123)",5000)
setInterval("f1()",5000)
</script>
</body> </html>
六:测试环境
1)写在文件中
2)可以在浏览器-console中调试
七:示例
1)走马关灯效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p id="content">欢迎领导莅临!</p> <script> function getContent() { //根据ID获取指定标签的内容,定于局部变量接受 var tag=document.getElementById("content") //获取标签内部的内容 var content=tag.innerText //获取第一个字符 var first=content.charAt(0) //获取除第一个字符的串,content.length字符串长度 var more=content.substring(1,content.length) var new_content=more+first //改变标签内容 tag.innerText=new_content } //定时器 setInterval("getContent()",500) </script> </body> </html>