var data=123;
data=123+1;(重新赋值不需要声明了)
数据如果直接使用不要存,暂时不使用就存储起来
var a=b=2 变量的声明是从右往左读的
原始(基本)数据类型:数据保存在变量本地,保存在栈中
1.1 number(数字类型)
1.2 string(“字符串”)
1.3 boolean(布尔值)
1.4 undefined(未定义)
1.5 null(空)
引用数据类型:数据不保存在变量本地,保存在堆中
2.1 array(数组)
2.2 object (函数)
3.
var a=1
var b=2
var c=3
console.log(b>a&&c>a)
7.
var msg=grade<60?"不及格“:(grade<80?"及格":(grade<90?"良好“:"优秀"))
if语句可以多重条件判断
if (条件){
条件1成立的时候执行的代码
}else if(条件2){
条件2成立的时候执行的代码
}else {
条件不成立的时候执行的代码
}
⚠️:条件判断里面只有六种情况( false 、0、 undefined 、null、 nan 、“ ”)算false 其他全是true
function grade(形参){
if(gra<60){
alert("不及格“)
}else if(gra<80){
alert("及格“)
}else if(gra<90){
alert("良好“)
}else {
alert("优秀“)
}
}
grade(实参)
var a=1
function fn(){
a=2
}
fn()
console.log(a)
计步器:
function num(){
var n=0
function add(){
return n++
}
return add
}
console.log(num())
var n=5
while(n<10){
console.log("我执行一次“);
n++;
}
for(var i=0;i<10;i++){
console.log("我执行一次“);
}
var arr=[数据1,数据2,数据3]
var names=[“1”,“2”,“3”];
console.log(names[0])
//下标查找元素
1、length :数组长度
2、push(你要追加的元素):向数组的结尾追加元素。或者通过下标增添arr[5]=6
3、pop ():删除数组最后以为元素
4、unshift():向数组的开头添加元素
5、shift(): 删除数组的第一位元素
6、reverse():反转数组
7、splice(a,b) :用来删除,插入,替换元素的,从第a位参数开始,删除b个参数
如果超过两个参数,那么后面几个参数就会作为新值插入进去。
不删要插入的话,第二个参数给0(1,0,2)
8、sort() :不改装不适合数组排序,从小到大,只限制于纯数字
根据unicode编码排序 大写字母65-90 小写字母97-122 数字 48-57
var a=arr.sort(function(a,b){return a-b})
9、map(function(item,index){ return 进行的操作}) 对数组的每一个元素进行处理,返回一个群新的数组。 item是位数,index是下标。
——————————————————————————以上9种方法都可以直接修改原数———————————————————————————————————————
10、join(拼接符号“-”) :把数组连接成字符串
11、slice(star,end) :截取子数组,原则含头不含尾,如果只给一个参数,从第一位开始截取到最后
12、concat() :连接多个数组的。数组1.concat(数组2,数组3...)
2.
var arr[1,2,3,4,5];
arr.push(6);
console.log(arr)
6.
var arr=["h","e","l","l","o"];
arr.splice(1,3)
console.log(arr)
7.
//冒泡排序
var arr=[65,27,139,67,8,97]
function order(arr){
//多次执行单次排序
for(var m=o;m<(arr.length-1);m++){
//单次对数组排序,去最大的一个
for(var i=0;i<(arr.length-1-m);i++>){
if(arr[i]>arr[i+1]){
var tem=arr[i];
arr[i]=arr[i+1];
arr[i=1]=tem;
}
}
}
return arr
}
console.log(order(arr))
8.
var arr=[1,2,3,4,5,6];
arr=arr.map(function(item.index){
return "星期"+item
});
console.log(arr)
9.
var arr=["h","e","l","l","o"];
arr=arr.join("-")
console,log(arr)
10.
var arr=["h","e","l","l","o"];
arr=arr.slice(1,3);
console.log(arr)
1、length 长度
2、toUpperCase()转大写 toLowerCase()转小写
3、indexOf(查找关键字) 找不到返回-1 true
4、split(“切割符”)把字符串切割成数组 唯一一种字符串转数组的方法
5、substring(截取的字符串通过下标) 含头不含尾,如果只给一个参数,那就截取到结尾
6、slice 同上
7、concat()
去重方法:
var arr=[0,20,1,1,1,2,61,2,2,1,3,2,2,2,333]
for(var i=0;i<arr.length;i++>){
for(var j=0;i<aee.length;i++>){
if(var j=0;j<i;j++){
arr.splice(j,1)
i--
}
}
}
1、toFixed (按几位小数四舍五入取整数)
2、number()把字符串转成数字
定义:字符串中字符出现的规则 (定字符串规则)
正则表达式都是写在双斜线里面的
正则表达式的规则写在[]里面
[]是用来放备选字符的,一个中括号只能代表一位字符的匹配规则
正则表达式对于任意连续的区间,都可以以横线连接 [0-9]
var reg=/[]\
数量词
{num}前面一位规则重复num次,如果想修饰多位,加小括号
{min,}前面一位规则重复至少min次
{min,max}前面一位规则重复至少min次,最多max次
特殊数量词
?:可有可无,最多出现一次{0,1}
*:可有可无,不限次数{0,}
+:至少出现一次{1,}
预定义字符集:在正则表达式里面有特殊含义的字符
\d:代表了所有数字
\w:代表了所有数字、字母、下划线
\s: 代表空格
. :代表任意字符
对于正则表达式里面任意有特殊含义的字符,你希望以原文的形式去匹配的话,必须要加\转译[.]
如果备选字符里面只有一个备选字符或者只有一个预定义字符集,中括号可以省略
正则表达式.text(被检测的字符串)结果是布尔值
⚠️:text方法是部分匹配
在备选字符里面加^代表除了…外都行
在整条正则表达式的开头加^,代表以…开头,在整条正则表达式的结尾加$代表以…结尾
邮箱:var reg=/^\w+@\w+([-]\w+)*(.[0-9a-zA-Z]+)$/
1、Math.round() 四舍五入取整
2、Math.cell() 向上取整
3、Math.floor() 向下取整
4、Math.min()取一堆数中的最小值
5、Math.max()取一堆数中的最大值 参数接受的是参数序列,不接受数组
var arr=[9,10,12,13,14,3,4,6]
var num=Math.max(...arr);// 配合es6
console.log(num)
6、Math.random()取0-1之间的随机数
取任意min-max之间的随机数
7、Math.floor(Math.random()*(max-min)+min)
//2000员工抽奖
var num=Math.floor(Math.random()*2001)
console.log("恭喜“+num+”号员工中奖“)
================================以下不常用
8、Math.pow("底数","幂")
9、Math.sqrt()平方根
10、Math.abs()取绝对值、
⚠️
string.fromCharCode(unicode编码)转换
数字:48-57
大写字母:65-90
小写字母:97-122
//随机验证码
var code=[];
for(var i=48;i<=57;i++>){
code.push(i)
}
for(var i=65;i<=90;i++>){
code.push(i)
}
for(var i=97;i<=122;i++>){
code.push(i)
}
var arr=[];
for(var i=0;i<4;i++>){
var index=Math.floor(Math.random()*62)
var un=code[index];
var cha=string.fromCharCode(un);
arr.push(cha)
}
console.log(arr)
1、封装了所有与日期相关的api
2.、new Date()得到的是当前事件对象 var date=new Date()
日期对象可以直接相减,得到的结果是间隔毫秒数
3、getDate() 返回几号(1-31)
4、getFullYear()返回哪一年
5、getMonth()+1返回月
6、getDay()0-6 星期几
7、getHours()0-23 时
8、getMinutes()0-59 分
9、getSeconds()0-59 秒
10、getMilliseconds()0-999 毫秒
11、getTime()返回的是1970年1月1日之今的毫秒数
以上所有方法把get改成set就是设置时间的方法(除了getDay)
document object model
DOM操作:增删改查
查:查找元素
1、document.getElementBuId("") 通过ID选择器返回的是元素对象
2、document.getElementsByClassName("") 返回的是数组
3、document.getElementsByTagName("") 同过标签名返回的是数组
4、document.getElementsByName("") 返回的是数组 表单专用
5、document.querySelector(“css选择器”) 返回第一个元素对象
6、document.querySelectorAll(“css选择器”) 返回数组
改:通过对象的形式
class代表类不可以直接修改class关键字 要写成className
改属性;
1、通过对象的形式
2、setAttribute("属性名“,”属性值“)
改内容:
innerText:拿到的是元素开始标签到结束标签之间的文本内容。标签.innerText
innerHTML: 拿到的是元素开始标签到结束标签之间的内容z(包含标签)
删:
删属性:removeAttribute(“属性名”);
删内容:innerHTML=“” ;
删元素:父元素对象.removeChild(“要删除的子元素对象”)
增:
1、创建元素 createElement(“标签”)
2、父元素对象.appendChild(“子元素对象”)
var h = document.createElement(“h1”)
var list1 = document.getElementById(“list1”)
list1.appendChild(h)
3、加属性和内容 参照第二步