一:JS:javaScript 运行在浏览器端的一个解释型(不检查错误,直接运行,遇到错误立即停止)弱类型(数据类型由数据来决定)面型对象型脚本语言
二:使用方式:
1script>js代码</script
2创建一个JS文件(。。。.JS)
script src="JS文件路径”>此处不能写JS代码</script
三:输出方式:
console.log(想要输出的东西) 在F12里输出
alert()弹出警告框,在警告框里输出
四:变量和常量:需要反复使用的数据都要提前保存到变量中
变量:var 变量名=值; 值可以改变
var user=prompt("提示文字”,“默认值”) 用户自己输入
常量:const 变量名=值;值是固定的,不能改变
变量名不能以数字开头 不能以关键字命名
五:算数运算符:+ - * / % 隐式转化:默认先转化为数字再进行计算,前提是纯数字的组成的字符串,如果遇到非纯数字的字符串,结果为NaN
NaN:不是一个有效数字,但是是数字类型,参与任何算术运算,结果都为NaN,参与任何比较运算,结果都为false
!isNaN(x); true->有效数字 false->NaN
特殊: +:遇到字符串,为拼接
六:数据类型
1.Number-数字 取值:无数个 2.string-字符串 取值:无数个 3.BOOLEAN-布尔 取值:两个(true/false) 4.Undefined 取值:一个(Undefined)创建一个变量,但是没有赋值,默认为Undefined,用来做操作,大部分都会报错 5.Null-空,取值:一个(Null) 释放变量/内存,节约内存空间
强制转换-转为数字:
Var num=parselint/Float(字符串)
七:判断
if(判断条件){操作}
else if(判断条件){操作}//可以有多个
elsse{操作}
判断顺序很重要,根据需求来写
比较运算符:> < >= <= == !=
逻辑运算符:&& 和,|| 或,!否
八:函数:提前预定好,以后可以反复使用的代码段
创建函数:function 函数名(形参列表){函数体}
调用函数:函数名(实参列表); elem。onclick=function(){函数名(实参列表)}
九:循环
死循环 var 循环变量=几
while(循环条件){循环体;循环变量的变化} 死循环需要搭配break才可以停止循环
for(var 循环变量=几;循环条件;循环变量的变化){循环体}
十:数组:一个变量可以保存多个数据
创建方式:var arr=[数据];数据用逗号隔开
访问:arr[i] i为下标
添加/替换:arr[i]=新值
数组的长度:
arr[arr.length-n] 访问倒数第n个元素
arr[arr.length]=新值 在末尾增加元素
arr.length-=n 删除arr倒数n个
遍历数组:
for(var i=0;i<arr.length;i++){arr[i]} 把数组中的每个元素拿出来执行相同的操作
十一:树根
document 浏览器自动创建的JS解释器,通过树根找到页面上我们需要找到的元素
查找元素:标签名/class名 var=document/父元素.getElementsByTagName/className("标签名/class名“)
找到了返回一个类数组集合,没找到返回一个空集合
集合不允许直接操作,只能操作集合里面的某一个元素
十二:通过关系获取元素
父元素:elem.parentNode
子元素: elem.children
第一个儿子: elem:firstElementChild
最后一个儿子: elem:lastElementChild
前一个兄弟: elem.previousElementSibling
后一个兄弟: elem.nextElementSibling
十三:操作元素
绑定事件:elem.onclick=function(){要做的操作;} this:单个元素绑定事件:this->这个元素 多个元素绑定事件:this->当前正在操作的这个元素
获取内容:elem.innerHTML 操作内容:elem.innerHTML="新内容"
获取属性:elem.属性名 修改属性:elem.属性名="新属性值" class需要写为className
获取样式:elem.style.属性名 设置样式:elem.style.属性名=“新属性值”
十四:计算字符串
eval(str)