JavaScript运算符、if语句
运算符
是用于实现赋值、比较和执行算数运算等功能的符号。
常用运算符:算数运算符、递增和递减运算符、比较运算符、逻辑运算符、赋值运算符。
算术运算符:表达式:是由数字、运算符、变量等组成的式子
返回值:表达式最终的结果返回给开发者,称为返回值
递增/减运算符:递增(++)递减(- -)
注意:递增/减运算符必须和变量配合使用。
比较运算符:两个数据进行比较时使用,会返回true或false作为运算结果。
=表示赋值,把右边给左边
==表示判断,判断两边值是否相等(注意此时有隐式转换)
===表示全等,判断两边的值和数据类型是否完全相同
逻辑运算符:是计算布尔值运算的运算符,返回值也是布尔值。
&&:“逻辑与” 两边都是true才返回true,否则返回false
||:“逻辑或” 两边都是true才返回true,否则返回false
!:逻辑非
逻辑非!:取一个布尔值相反的值
var isok = ! true;
console.1og(isok);/l false
赋值运算符:把数据赋值给变量的运算符。
= :直接赋值
+=、-= :加、减一个数后在赋值
*=、/=、%= :乘、除、取模后在赋值
流程控制
分为三个结构:顺序结构、分支结构、循环结构
顺序流程控制:没有特定的语法结构,程序会按照代码的先后顺,依次执行。
分支流程控制:由上到下执行代码的过程中,根据不同的条件,执行不同的路径代码(执行代码多选一的过程),从而得到不同的结果。
分支结构语句:if语句 语法:
if(条件表达式){
// 条件成立时执行的代码语句
}
if else语句(双分支) 语法:
if(条件表达式){
// [如果]条件成立执行的代码
}else i
// [否则]执行的代码
}
if else if语句(多分支)语法:
if(条件表达式1){
语句1;
else if(条件表达式2)i
语句2;
else if(条件表达式3)i
语句3;
} else i
// 上述条件都不成立执行此处代码
}
JavaScript数组
数组与字符串。数值、布尔一样,都是js中的一种数据类型。
创建数组
用new创建数组
var 数组名 = new Array()
注意Array()中的A要大写
用数组字面量创建数组
var 数组名[];
数组的字方面量是[ ]
以后使用较多
数组中可以放任意类型的数据
例如var Study = ['张三',333,false]
中括号中的数字叫做索引或者下标,每个房间中存储的数据叫做元素
可以在创建数组的同时添加元素,元素之间用逗号分隔
通过索引可以获取元素,索引从0开始。
例如
var dogs=[]
dogs[0]='金毛'
dogs[1]='柯基'
dogs[2]='柴柴'
console.log(dogs[1])
输出结果为‘’柯基‘’
console.log(dogs,length)
结果为输出数组中每一个元素的值
**注意:**如果新增元素时,一定要找对索引:当前元素个数
例如:
var dogs=['金毛','柯基','柴柴']
console.log(dogs)
dogs[0]='萨摩'
console.log(dogs)
dogs[dogs.length]="金毛"
console.log(dogs)
输出结果为“萨摩”,“柯基”,“柴柴”’,“金毛”
函数
定义函数
标准语法:
function f1(){
// 循环体
console.log('函数f1执行了')
}
f1()
function:定义函数的关键字,后面跟上函数名称
f1:函数名称,与变量的命名规则相同,一般使用动词
():参数列表,如果为空,表示没有参数
{}:函数体:调用函数时指定的代码
函数不调用不执行
调用函数:函数名称
函数的形式参数,简称形参
调用函数时传递的参数,叫做实际参数,简称实参
例:
function f1(n,a,b,c){
console.log(n,a,b,c)
}
f1(1,32,18,6,5)
f1(2)
输出结果为:1,32,18,6,5
undefined undefined undefined undefined
如果声明函数时,函数名括号里为形参,则形参默认值为undefined。
多个参数中间用逗号分隔。
注意:变量名称和函数名称不能相同
函数返回值:从函数内部向函数的调用者返回的数据
使用return语句将制定数据返回。
//声明函数
function函数名(){
return需萎返回的值;
}
//调用函数
函数名(); //此时调用函数就可以得到函数体内return后面的值
在使用return语句时,函数会停止执行,并返回指定的值
如果函数没有使用return时,返回的值是undefined
break:结束当前的循环体
continue:跳出本次循环,继续执行下次循环
return:可以退出循环,返回return语句中的值,结束当前函数体内的代码。
内置对象
对象是一种特殊的数据类型。
分为内置对象、自定义对象和浏览器对象。
对象名.属性名称;
对象名.方法名称
Math对象
Math对象常用于进行数学相关的运算任务。
使用Math对象和方法的语法:
var pi_value=Math.PI;
var sqrt_value=Math.sqrt(15);
Math对象属性
属性、方法名 | 功能 |
---|---|
Math.Pl | 圆周率 |
Math.floor() | 想下取整 |
Math.ceil() | 向上取整 |
Math.round() | 四舍五入版 就近取整 注意 -3.5 结果是-3 |
Math.abs() | 绝对值 |
Math.max()/Math.min() | 求最大和最小值 |
Math.random() | 获取范围在[0,1]内的随机值 |
注意:自定义函数,用于获取指定范围内的随机整数,范围通过参数传递
日期对象
Date是构造函数,使用时需要实例化后才能使用具体方法和属性。
Date对象用于处理日期和时间。
创建Date对象的语法:
var myDate=new Date()
注释:Date对象会自动把当前日期和时间保存为其初始值。
Date的对象属性
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的Date函数的引用。 |
prototype | 使您有能力向对象添加属性和犯法。 |
getFullYear() | 获取当年 |
getMonth() | 获取当月(0-11) |
getDate() | 获取当天日期 |
getDay() | 获取星期几(周日0----周六6) |
getHours() | 获取当前小时 |
getMinutes() | 获取当前分钟 |
getSeconds() | 获取当前秒钟 |
注:getMonth()或者getDay()想要得到几月或者星期几都需要加1
数组对象
数组对象的作用:使用单独的变量名来存储一系列的值。
判断一个对象是不是数组的方法:
var arr = [3,33];
var obj ={};
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
创建数组方法:
var mycars = new Array()
mycars[0] = "张三"
mycars[1] = "李四"
mycars[2] = "王五"
for (i=0;i<mycars.length;i++)
{
document.write(mycars[i] + "<br />")
}
输出结果为:
张三
李四
王五
给数组赋值的方法:
var mycars=new Array()
mycars[0]="111"
mycars[1]="222"
mycars[2]="333"
添加和删除数组元素的方法:
方法名 | 说明 |
---|---|
unshift( ) | 数组开头增加 |
shift( ) | 数组开头删除一项 |
push( ) | 数组末尾增加 |
pop( ) | 数组末尾删除一项 |
向数组末尾添加新的元素:会改变原来的数组。
var a=[1,2,3]
n.push(4)
console.log(n,10);
输出结果为(4) [1,2,3,4] 5
访问数组
通过指定数组名以及索引号码,可以访问某个特定的元素。
document.write(mycars[0])
数组排序
方法名 | 说明 |
---|---|
reverse() | 颠倒数组中元素的排序 |
sort() | 对数组中的元素进行排序 |
注意:sort方法需要传入参数来设置升序、降序排序
数组索引方法
方法名 | 说明 |
---|---|
index | 数组中查找给定元素的第一个索引 |
lastIndexOf() | 在数组中的最后一个的索引 |
数字排序
默认地,sort() 函数按照字符串顺序对值进行排序。
该函数很适合字符串(“Apple” 会排在 “Banana” 之前)。
不过,如果数字按照字符串来排序,则 “25” 大于 “100”,因为 “2” 大于 “1”。
正因如此,sort() 方法在对数值排序时会产生不正确的结果。