函数
函数的定义
简单的绝对值函数
//定义方式1
function abs(s){
if(s>=0){
return s;
}else{
return -s;
}
}
//定义方式2
var abs = function(s){
if(s>=0){
return s;
}else{
return -s;
}
}
函数的调用
abs(10)
abs(-10)
注意:方法中可以多传参数,也可以不传参数,不会报错,但是多传的参数没有作用
可以手动定义抛出异常
function abs(s){
//判断数据类型是否为number
if(typeof s!=='number'){
thow 'not a number'
}
if(s>=0){
return s;
}else{
return -s;
}
}
arguments 是一个自带的属性,代表获取传递进函数的所有参数
rest代表获取除了已经定义的参数之外的所有参数
//rest只能放在最后边且用...标识
function abs(s,...rest){
//判断数据类型是否为number
if(typeof s!=='number'){
thow 'not a number'
}
if(s>=0){
return s;
}else{
return -s;
}
}
变量的作用域
一般情况下,函数内定义的变量外部不可以引用
硬要使用,需要学习闭包
作用域与java相同
默认所有全局变量,自动绑定在window对象下
全局变量一般定义在一个变量的属性中
局部变量用let定义
常量用const定义
this
JS中可以控制this的指向
方法名.apply(this指向的对象名,[参数])
内部对象
typeof 123
“number”
Date
var now = new Date();
now.getFullYear();//年
now.getMonth();//月 0~11显示月份
now.getDate();//日
now.getDay();//星期
now.getHours();//时
now.getMinutes();//分
now.getSeconds();//秒
now.getTime();//时间戳,全世界统一
//转换
now.toLocaleString() //输出年月日时分秒字符串
JSON
任何JS支持的类型都可以用json表示
对象:{}
数组,List:[]
键值对:key:value
let user = {
name:"songyi"
age:3,
sex:男
}
//转换为JSON
let json = JSON.stringify(user)
//JSON转为对象
JSON.parse(JSON数据串)
Ajax
原生的js写法 xhr异步请求
jQuey封装好的方法$("#name").ajax("")
axios 请求
面向对象编程
原型继承
在JS中
继承变为设置原型:
var student={
name:'songyi'
age:3
run:function(){
console.log(this.name +'run.....');
}
};
var xiaoming = {
name:'xiaoming'
};
//xiaoming类设置student为它的原型
xiaoming.__proto__ = student;
设置原型时,可以是任何类
class继承
es6新特性
class
//定义一个学生的类
class Student{
//构造方法
constructor(name){
this.name = name ;
}
hello(){
alert("hell0")
}
}
var xiaoming = new Student("xiaoming");
继承
class xiaoxuesheng extends Student{
constructor(name,grade){
super(name)
this.grade = grade;
}
mygrade(){
alert('我是小学生')
}
}
其本质还是设置原型对象,但是对JAVA程序员较友好