js导入的方式
- 外部引入:
<script src=”js文件的路径”></script>
- 页面标签嵌入:
<script>html文件中head里面直接写</script>
- 行间事件
:<input type="button" name="" onclick="alert('ok');">
变量
变量类型
数字 字符串 布尔类型 undefined null
变量命名
区分大小写
字母、数字、_、$ 数字不能开头
- o 对象
- a 数组
- s 字符串
- i 整数
- f 浮点数
- b 布尔类型
- fn 函数
- re 正则
声明变量 var
- 全局变量
- 局部变量:在函数内部声明的变量;(注意:函数内部可以直接更改全局变量)
js获取元素
先加载文档
- js加载文档会读取文档的所有内容,包括图片等
- jquary加载文档只读取文档的标签,标签的属性等即整个文档结构,故jquary快。
document.getElementById(“id名”) id具有唯一性
document.getElementByClassname(“类名”)
document.getElementByTagname(“标签名”)
document.getElementByName(“name”)
js获取元素属性
a.style.width
a.style[“width”]
a.innerHTML 可以载入或读取标签内容
函数aaa
function aaa() {
函数体
}
aaa() // 执行函数
匿名函数
function(){};
封闭函数
- 是匿名函数的另一种写法,是一种一旦创立就立即执行的函数
- 封闭函数可以创造一个独立的空间,在封闭函数内定义的变量和函数不会影响外部同名的函数和变量,可以避免命名冲突,在页面上引入多个js文件时,用这种方式添加js文件比较安全,
;(function(){})();
!function(){}();
~function(){}();
+function(){}();
-function(){}();
运算符
- ==
- >
- <
- >=
- <=
- !=
- ! 非
- && 且
- || 或
数组aList
类似栈,先进后出
aList[下标] 获取数组中的元素
aList.length 获取数组长度
aList.push(新元素) 添加新元素
aList.pop() 删除最后一个元素
aList.join(“-”) 将数组中的内容拼接到一起,通过-分隔;””代表直接拼接
aList.reverse() 反转
aList.indexOf(元素a) 返回元素a第一次出现的下标索引
aList.splice(开始位置,删除个数,替换内容)
aList.splice(2,1,7,8,9) //从第2个元素开始,删除1个元素,然后在此位置增加'7,8,9'三个元素
字符串 str
字符串拼接:直接相加+,数字/数组和字符串也可以拼接,拼接成一个新的字符串;
str.split(“a”) 字符串按每个a左右切割,如果写””,则每个元素都切割,切割结果返回数组;
parseInt(str) 转化成整数
parseInt(“123abc”)------->123
parseInt(“abc123”)------->NaN
判断是否是纯数字更为准确的方法:
isNaN(“123abc”)------->true
isNaN(“123”)------->false
parseFloat(str) 转化成浮点数
str.indexOf(元素a) 返回元素a第一次出现的下标索引
str.substring(start,end) 截取(切片)
条件语句
if (条件一){
执行一
}else if (条件二){
执行二
}else{
执行三
};
switch (条件){
case 条件一:
...
break;
case 条件二:
...
break;
default:
...;
}
判断条件 ? true执行语句:flase执行语句
5 > 3 ? console.log("111") : console.log("222");
循环语句
初始i为0,每次加1,直到不满足i <5
for (var i = 0, i < 5, i++){
循环内容;
}
for (i in 数组){
i代表数组的下标
}
定时器
仅执行一次的定时器
var timer = setTimeout(函数, 时间)
关闭仅执行一次的定时器
clearTimeout(timer)
循环执行的定时器
var timer = setInterval(函数, 时间)
关闭循环执行的定时器
clearInterval(timer)
window.location.href //获取或者重定url地址
window.location.search //获取地址参数部分 ?后面的部分
window.location.hash //获取页面锚点或者叫哈希值 #后面的部分 如果有参数 写在参数的后面
创建对象
var hero = new Object();
hero.name = "jingke";
hero.age = "18";
hero.skill = function () {
alert("隐身消失了");
}
console.log(hero);
function Student(name,age,sex) {
this.name = name;
this.age = age;
this.sex = sex;
this.say = function () {
console.log('hehehe');
}
}
var student01 = new Student("xiaoming",18,"nan");
Math对象
abs(x) 绝对值。
pow(a,b) a的b次方
round() 把数四舍五入为最接近的整数
random() 返回 0 ~ 1 之间的随机数
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
sin(x) 弧度
tan(x) 弧度
cos(x) 弧度
floor(x) 向下取整
ceil(x) 向上取整