函数
1.使用关键字function声明一个函数,如果有参数就传参,多个参数用逗号隔开
//函数声明 function name(num1,num2){ //方法体 }
2.函数不能声明返回值类型,即使有返回值,也不能声明返回值类型
3.函数只有在调用的时候才执行,只声明不调用是不会执行的
4.如果函数没有返回值,那么这个函数执行过后返回undefined
function add(num){ if(num > 50){ return num + 10; } } alert(add(45)); //结果为:undefined
5.函数不能声明参数的数据类型
6.所有的函数都以小写字母开头
7.函数的参数个数不是严格要求的,调用时实参的个数可以不等于形参的个数,实参多余形参时以第一个实参为准 ,实参少于形参个数时为undefined
function add(num){ if(num > 55){ return num + 5; } else{ return "成绩不合格"; } } alert(add(45,65)); //输出结果为:成绩不合格 alert(add(65,45)); //结果为:70
8.自定义的函数不能跟JavaScript系统函数重名
9.JavaScript中不存在重载,如果出现相同名字的函数,后面的会覆盖前面的
function add(num){ return num + 10; } function add(num1,num2){ return num1 + num2; } alert(add(1,2)); //结果为:3 alert(add(1)); //结果为:NaN //由于函数找不到参数,所以输出undefined(未定义),当undefined类型数据和一个数值类型数据进行运算时,undefined先转换成数值类型NaN(非数值),然后NaN和一个数值类型数据运算,结果还是NaN。
JavaScript中异常处理
- 语法:
try{ //异常的抛出 //throw new Error(); 自定义错误消息 } catch{ //异常的捕获与处理 } finally{ //结束处理 }
- 用法:
function add(num){ try{ if(num > 50 && num <60){ console.log(num + 10); } else{ throw new Error("输入的值不正确"); } } catch(err){ console.log(err); } finally{ console.log("end"); } } add(40);
对象
JavaScript中所有事物都是对象:字符串、数值、数组、函数……
此外,JavaScript允许自定义对象
JavaScript中的内置对象:
String(字符串)
Date(日期)
Math(数学)
Number(数字)
Boolean(布尔型)
Array(数组)
常用字符串(String)的处理:
var str = "我想你,我在十点差三分的时候开始想你"; console.log(str.length); //使用长度属性length来计算字符串的长度 //输出:18 console.log(str.charAt(2)); //使用chatAt()方法返回在指定位置的字符 //输出:你 console.log(str.indexOf("想")); //使用indexOf()方法,从(0)号索引开始,返回某个指定的字符串值在字符串中首次出现的位置。 //输出:1 console.log(str.indexOf("想",5)); //从(5)号索引开始,包括(5)号索引,返回某个指定的字符串值在字符串中首次出现的位置。 //输出:16 console.log(str.lastIndexOf("你")); //使用lastIndexOf()从后向前搜索字符串,并从起始位置(0)号索引开始计算返回字符串最后出现的位置。 //输出:17 console.log(str.split("点")); //使用split()方法把字符串分割为字符串数组。 //输出: // (2) ["我想你,我在十", "差三分的时候开始想你"] // 0: "我想你,我在十" // 1: "差三分的时候开始想你" // length: 2 console.log(str.substr(6,5)); //substr(索引号,提取个数)从起始索引号开始(包括起始索引号的字符)提取字符串中指定数目的字符。 console.log(str.substring(6,11)); //substring(起始索引号, 结束索引号)提取起始索引号开始(包括起始索引号的字符)到结束索引号之前(不包括结束索引号的字符)的字符。
Date(日期)对象:
var today = new Date(); console.log(today); //输出当前的日期和时间 console.log(today.toLocaleString()); //据本地时间格式,把 Date 对象转换为字符串。 console.log(today.toLocaleDateString()); //根据本地时间格式,把 Date 对象的日期部分转换为字符串。 console.log(today.toLocaleTimeString()); //根据本地时间格式,把 Date 对象的时间部分转换为字符串。 console.log(today.getFullYear()); //从 Date 对象以四位数字返回年份。 console.log(today.getMonth()); //从 Date 对象返回月份 (0 ~ 11)。 console.log(today.getDate()); //从 Date 对象返回一个月中的某一天 (1 ~ 31)。 console.log(today.getHours()); //返回 Date 对象的小时 (0 ~ 23)。 console.log(today.getMinutes()); //返回 Date 对象的分钟 (0 ~ 59)。 console.log(today.getSeconds()); //返回 Date 对象的秒数 (0 ~ 59)。
Math对象:
方法 | 描述 |
---|---|
abs(x) | 返回 x 的绝对值。 |
ceil(x) | 对x进行向上取整。 |
floor(x) | 对 x 进行下向下取整。 |
max(x,y,z,...,n) | 返回 x,y,z,...,n 中的最高值。 |
min(x,y,z,...,n) | 返回 x,y,z,...,n中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 [0 ~ 1) 之间的随机数。 |
round(x) | 四舍五入。 |
Number对象:
使用isNaN()判断输入的是不是一个数字
数字可以是数字或者对象
var x = 369; var y = new Number(369); typeof(x);//返回Number typeof(y);//返回Object
Boolean(布尔)对象:
0 的布尔值 false
1 的布尔值 true
空字符串的布尔值 false
null 的布尔值 false
NaN 的布尔值 false
字符串'false' 的布尔值true
undefined的布尔值是false
Array(数组)对象:
JavaScript中数组就是一个Array对象
JavaScript中数组是动态的,是可变的
通过指定数组名以及索引号码,你可以访问某个特定的元素
在一个数组中你可以有不同的对象,可以在一个数组中包含对象元素、函数、数组
var arr = new Array(); arr[0] = 1; arr[1] = 2; arr[2] = "三"; arr[3] = "四"; console.log(arr.toString()); //把数组转换为字符串,并返回结果。 //返回:1,2,三,四 console.log(arr.join("+")); //把数组转换成字符串,用括号内的字符隔开 //返回:1+2+三+四
遍历数组:
1.for循环遍历数组
var arr = new Array(); arr[0] = 1; arr[1] = 2; arr[2] = "三"; arr[3] = "四"; for (var i = 0; i < arr.length; i++) { console.log(arr[i]); }
2.for……in语句按顺序遍历数组
var arr = new Array(); arr[0] = 1; arr[1] = 2; arr[2] = "三"; arr[3] = "四"; for(var i in arr){ console.log(arr[i]); }