4 函数(方法)
4.1, 定义一个函数
function hjc(x) {
if(x>=0){
return x;
}else{
return -x;
}
}
function(x){…}是一个匿名函数,但是可以把结果赋值给abc,通过abs就可以调用函数!
调用函数
abs(10)//10
abs(-10)//10
参数问题:JavaScript 可以穿任意个参数,也可以不传递参数
参数进来是否存在的问题 假设不存在某个参数,如何判断
手动抛出异常
if(typeof x!=='number'){
throw 'Not a Nubmer';
}
arguments是一个javascript免费赠送的一个关键字
代表传递进来的所有参数,是一个数组
4.2 变量的作用域
内部函数可以访问外部函数的成员
所有变量定义是都放在方法头部
4.3 方法
1,方法定义在对象的语句块只内
var houjiancheng = {
name:"后检查",
bitrh:1998,
//方法
age:function (){
//今年-出生的年
var now = new Date().getFullYear();
return now-this.bitrh;
}
调用方法一定要加括号
拆开上面的代码
function getAge() {
//今年-出生的年
var now = new Date().getFullYear();
return now-this.bitrh;
}
var houjiancheng = {
name:"后检查",
bitrh:1998,
age:getAge
}
将方法体放置于对象外,依然可以运行
但如果直接调用getAge()会报错
可以用apply 方法指向
getAge().apply(houjiancheng,[]);
5 特殊对象
标准对象
typeof 123
"number"
typeof '123'
"string"
typeof true
"boolean"
typeof NaN
"number"
typeof []
"object"
typeof {}
"object"
typeof Math.abs
"function"
typeof undefined
"undefined"
5.1 Date日期与时间对象
let now = new Date();
console.log(now)
VM82:1 Tue Sep 22 2020 14:33:31 GMT+0800
(中国标准时间)
now.getFullYear();//年
now.getMonth();//月
now.getDate();//日
now.getHours();//时
now.getDay();//星期几
now.getMinutes();//分钟
now.getSeconds();//秒
now.getTime();//时间戳
月份的定义区间为0~11
通过时间戳来获取当前时间
console.log(new Date(1600756411907))
VM484:1 Tue Sep 22 2020 14:33:31 GMT+0800 (中国标准时间)
通过方法来转换格式
now.toLocaleDateString()
"2020/9/22"
5.2 JSON
早期,所有数据传输习惯使用XML文件
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写
简洁和清晰的层次结构是的JSON成为理想的数据交换语言
易与人阅读和编写 同时也易于机器解析和生成 并有效的提升网络传输效率
在JavaScript里一切皆为对象,任何js支持的类型都可以用JSON来表示
格式:
对象都用 {}
数组都用 []
所有的键值对 都用 key:value
JSON字符串和JS对象的转化
<script>
"use strict"
//创建一个对象
let user = {
name:'qing',
age:3,
sex:'nanm'
}
//将对象转换为JSON对象
let jsonuser =JSON.stringify(user)
//JSON 字符串转化为对象 参数为json字符串
let obj = JSON.parse('{"name":"qing","age":3,"sex":"nanm"}');
</script>
JSON和JS对象的区别
var obj = {a:'sss',b:'ddd'};//JS对象
var json = '{'a':'sss':'b':'ddd'}'//JSON字符串
5.3 Ajax