一。初始js
1.行内是;<input type="button" οnclick="alert('被称为')">【直接写在元素里面】
2.内嵌式;在页面中加入<script></script>标签,js代码写在里面
3.外部js【新建一个js文件然后在引入】<script src=".js"></script>
4.单行注释//
5.多行注释/* */
6.输出输入语句
alert();浏览器弹出警示框
prompt();浏览器弹出输入框
console.log();控制平台打印输出信息
二。变量
1.什么时变量;装数据的盒子,是程序在内存中申请的一块用来存放数据的空间
2.变量的使用;声明变量,赋值
var 变量名=变量值【=;用来吧右边的值复给左边的变量空间中,代表赋值的意思】
3.变量的初始化;声明一个变量并赋值称为变量的初始化
var age=10;
4.更新变量;一个变量被重新赋值后,它原有的值就会被覆盖,变量值将以最后一次复的值为准
5.同时声明多个变量;只需要写一个var ,多个变量名之间使用英文逗号隔开
列如; var age=12,aw=23,a1=12
6.如果只声明变量没有赋值则结果是undefined【未定义】
7.变量的命名规范;由字母,数字,下划线,美元符号组成//严格区分大小写//不能以数字开头
二,数据类型【除object是复杂数据类型,其他都是简单数据类型】
1.数字型Number
isNaN();用来判断一个变量是否是数字,返回true或false
log(isNaN(变量名))是数字返回false,否则返回true
2字符串型string【只要是在双引号或者单引号之间的都是字符型】
字符串的拼接;“本次”+ var +“觉得v” 【注意;拼接后的字符串永远是字符串型//只有有一个是字符串则出来的就是字符串】
‘11’+12//输出是1112;是属于字符串的拼接
3.布尔型【在进行数值相加里,true=1;false=0】
true;1
false;0
4.Undefined和Null
Undefined【不知道是什么类型就是这个】
Null【空类型】
5.获取数据类型
typeof;【console.log(typeof 变量名)】
通过控制台输出的颜色来判断;黑色是字符型,蓝色是数子型,灰色是undefined
6,数据类型的转换
toString();转换为字符串
语法;alert(变量名.tostring())
string();强制转换为字符串// 语法;alert(string(变量名))
parseint(变量名);将变量转换为整数数值型
parsefloat(变量名);将变量转换为浮点数值型
Number(变量名);将变量强制转换为数值型
影型转换;利用算数隐士转换为数值型
三,运算符
1.逻辑运算符;
&&;一假则假//返回true或是false
||;一真则真 【123||345;如果第一个是数子则放回123,否则放回345】 0不是数子
2.运算符优先级【和数学运算一样】
四。分支语句
1.if语句
语法;if(条件表达式){执行语句}
【如条件表达式为真则执行语句,否则不执行】
2.if else语句
语法;if(条件表达式){执行语句1} else{执行语句2}
【如果条件表达式为真则执行语句1,否则执行语句2】
3.if else if语句;
语法 if(条件表达式1){执行语句1} else if (条件表达式2){执行语句2} else{执行语句3}
【满足那个条件就执行那个语句】
4.三元表达式
语法;条件表达式 ? 表达式1 : 表达式2
var a1=a2>12? 12:13
【如果条件表达式为真则放回12,否则放回13】
5.switch语句
switch(表达式){
case value: 执行语句1;break;
}
四。循环
1.for循环
语法;for(初始化变量;条件表达式;操作标识符){循环体}
【重复执行某些代码】
执行过程;var i=1;这句话在for里面只执行一次//判断i《100;如果满足条件在执行一次
2.while循环
while(条件表达式){循环体}【条件表达式为真则执行循环体】
while(10》2){循环体}【死循环】
3.continue,break关键字
continue;用于立即跳出本次循环继续下一次循环
break;用于跳出整个循环,不会执行下面的循环体
五。数组【可以存放多个值,任意类型的元素】
语法;var a1=[ ];
var a2=new Array( );【创建一个空数组】
六。函数
1.函数的使用【如果函数不调用就不会执行函数体//一次声明多次调用】
语法;function 函数名(){【声明函数】
函数体
return 1 【后面的代码不会被执行】} 函数名()【调用函数//】
return;放回后面所有的东西,列如上面的1=函数名(),只能放回一个值
return [ , ,]如果要放回多个值就用数组的方法如果没有return就放回undefined
2.arguments。使用【是一个内置对象储存了传递的所有实参】
function a1(){
return arguments[2]
} a1(1,9,8,6) 【放回8】
具有为数组的性质//有length长度特性,有索引号特性
3.函数的相互调用
function a1(){return 2 }
function a2(){a1() }返回2
七,对象的使用【一个具体的事物】
1.利用对象字面量创建对象
var obj={}//创建一个空对象
var obj={
name:"张三丰",多个变量名之间使用英文逗号隔开
age:18,
sex:男,
fang:function(){
console.log("你好")
}
}
注意、多个属性或者方法中间用逗号隔开
对象的使用:对象名.属性名 // 对项名【"属性名"】
列如:obj.age// obj["name"] // 方法的调用:obj.fang()【注意方法后面要有小括号】
函数和方法的相同点:都是为了实现某种功能,做某件事。函数是单独声明的并且调用是 函数名() 单独存在 。 方法在对象里面,调用是 对象名.方法名()
2.创建对象的第二中方法
var obj=new Object()//创建一个空对象 O要大写
obj.name="张三丰";
obj.age=18;
obj.fang=function(){
console.log("你好")
}
注意;我们利用等号=的赋值方法,属性之间分号结束
3.利用构造函数来创建对象
语法:function(){
this.属性=值
this.方法=function(){
}
}
列如:
function a1(name,age,sex){
this.name=name;
this.age=age;
this.sing=function(sang){
}
}
var aa=new a1("刘德华","18")
console.log(aa.name)//刘德华
console.log(aa.sing("他妈的"))//他妈的
注意;构造函数名的首字母要大写 、、 构造函数不需要return 就能够返回结果、、 调用构造函数必须使用new
构造函数和对象的区别:
构造函数是特指的一类,对象是唯一的一个
new的执行过程;
1,new关键字能够在内存中创建一个空间
2,this就会指向刚才创建的空间
3.执行构造函数里面的代码,给这个空对象添加属性和方法
4,返回这个对象
4.对象的遍历
语法:for(var k in 对象名){
}
类如:
for(var k in obj){
console.log(k)// 输出对象里的属性名
console.log(obj[k])// 输出对象里面的属性值
}
八。内置对象【mdn能够查询】
1.Math对象
Math.max(1,2,45)//返回里面的最大值45
Math.min()//求最小值
Math.pI// 圆周率
Math.floor()、、向下取整
Math.ceil()、、向上取整
Math.round()、、四舍五入就近取整
Math.abs()、、返回绝对值
Math.random()// 返回一个随机的小数,范围在0-1之间
计算公式;math.floor(Math.random()*(max-min+1))+min
2.日期对象 Date() 日期对象是一个构造函数,必须使用new来调用创造我们的日期对象
var date=new Date();//创建一个对象【括号里面可以跟参数 类如:"2001-11-12 8:00"】
date.getFullYear()//获取当年
date.getMonth()、、获取当月【0--11】
date.getDate()、、获取当天日期
date.getDay()、、获取星期几【0--6】
date.getHours()、、获取当前小时
date.getMinutes()、、获取当前分钟
date.getSeconds()、、获取当前秒
获取日期总的毫秒数:valueof() he gettime()
var date=new Date()
date.valueOf()
date.gettime
最简单的写法:var date=+new Date()[返回总的毫秒数,如果括号为空则返回当前时间总毫秒数,如果不为空则返回输入时间的总毫秒数]
秒数=总毫秒数/1000
剩余时间总毫秒转换为天,时,分,秒
d=parseint(总毫秒/60/60/24)天
d=parseint(总毫秒/60/60/%24)小时
d=parseint(总毫秒/60%60)分钟
d=parseint(总毫秒%60)秒
3.数组对象
创建数组的两种方式:new array() var zrr=[]
利用数组字面量创建:
var arr=[1,2,3,4]
利用 new Array()创建
var arr=new Array(2,3)
【如果里面有一个数字则代表里面数组元素的个数,如果有两个及以上的则代表为数组的值】
检测是否为数组:instanceof [没有兼容性] Array.isArray(参数)
var arr=[]
console.log(arr instanceof Array)//返回布尔值
console.log(Array.isArray(arr))//返回true或是false
添加删除数组元素的方法:
push(参数)//参数可以时数组元素也可以是数组变量名,在末尾添加一个或多个元素
pop()// 删除数组最后一个元素
unshift(参数)//在开头添加一个或多个元素,,参数可以时数组元素也可以是数组变量名
shift()//删除数组第一个元素
数组排序:sort()
var arr=[1,5,3,78]
arr.sort(function(a,b){
return a-b//a-b是升序排序,,b-a是降序排序
})
console.log(arr)//1,3,5,78
翻转数组:reverse()
列如:var arr=[1,3,5]
arr.reverse()
console.log(arr)//5,3,1
数组索引的方法 indexOf()[如果存在则返回索引号,如果不存在则返回 -1 ]
arr.indexOf("数组元素")、、只返回数组中相同元素的第一个元素的索引号
数组转换为字符串:toString()
arr.toString();转换为字符串
splice方法;arr.splice(索引位置,删除数组元素的个数,插入元素【可以是数组元素也可以是变量】)
注意:如果是删除数组就只要两个值,如果数添加数组则有3给值,删除数组个数的值是 0
4.字符串对象
根据字符返回位置:indexof()
类如:str.indexOf("要查找的字符",【起始位置】)
根据位置返回字符:charAt(index)
列如:str.charAt(2)//返回字符
截取拼接字符串:
substr(开始截取的位置,截取的个数)
slice(从什么位置截取,什么位置结束)
冒泡排序;
var a5=[2,4,5,7,3,8,1]
for(let i=0;i<a5.length;i++ ){
for(let j=0;j<=a5.length-i-1;j++){
if(a5[j]>a5[j+1]){
var tem=a5[j]
a5[j]=a5[j+1]
a5[j+1]=tem
}
}
}
console.log(a5);