<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
//求数组最大值和最小值
var arr = [1, 2, 33, 12, 11]
arr.sort(function(a, b) {
return a - b;
})
console.log(arr[0], arr[arr.length - 1])
console.log(Math.max(...arr))
console.log(Math.min(...arr))
console.log(Math.max.apply(null, arr))
console.log(eval("Math.max(" + arr.toString() + ")"))
//求数组平均值
function arrAvg() {
var arr = []
//1、
// for (let index = 0; index < arguments.length; index++) {
// const element = arguments[index];
// arr.push(element)
// };
//2、
//arr = Array.prototype.slice.call(arguments)
// arr.sort(function(a, b) {
// return a - b;
// })
//3、
Array.prototype.sort.call(arguments, function(a, b) {
return a - b;
});
console.log(arguments)
arr = Array.prototype.slice.call(arguments); //将类数组转为真正的数组;
arr.pop();
arr.shift();
console.log(arr);
console.log((eval(arr.join("+")) / arr.length).toFixed(2))
}
arrAvg(8.5, 7.6, 9.1, 6.8, 7.4)
//try catch
try {
} catch (e) {
// new ReferenceError()//引用错误
// new TypeError()//类型错误
// new RangeError()//范围错误
//throw new Error("出错了");//手动抛出错误 n
} finally {
}
//将数组转为真数组
var utils = {
listToArray: function(listArr) {
var arr = [];
try {
arr = [].slice.call(listArr);//ie 6-8不支持
} catch {
for (let index = 0; index < listArr.length; index++) {
const element = listArr[index];
arr.push(element);
}
}
return arr;
};
jsonStrToObj:function(jsonStr){
// var obj=null;
// try{
// obj=JSON.parse(jsonStr);
// }catch(e){
// obj=eval("("+jsonStr+")");//ie 6-8不支持
// }
//return obj;
return "JSON" in window?JSON.parse(jsonStr):eval("("+jsonStr+")");
}
};
//json对象 js对象
var obj = {
name: "howhy",
age: 22
}; //js对象
var jsonObj = {
"name": "howhy1",
"age": 12
}; //json对象 属性名用双引号
console.log(obj.name, jsonObj.name)
console.log(JSON.stringify(obj))
console.log(JSON.stringify(jsonObj))
console.log(JSON.parse('{"name": "howhy1","age": 12}'))
</script>
</body>
</html>