学习java 第十六天

本文介绍了JavaScript的基础知识,包括函数定义与参数处理,变量作用域,方法定义及apply用法。深入讲解了内置对象Date的使用和JSON的转换。此外,还探讨了JavaScript的面向对象编程,包括类的定义、继承以及原型链的概念。
摘要由CSDN通过智能技术生成

JavaScript

1、函数

1.1、定义函数

定义方式一

function 函数名(){
    函数体;
}

定义方式二

var 函数名 = function(){
    函数体;
}

★参数问题:JavaScript在传递参数时可以传递任意个参数或不传参

arguments:表明传进来的所有参数是一个数组

rest参数:获取除了已经定义的参数之外的所有参数(必须写下参数最后面)

function aaa(a,b,...test){
    console.log("a -> "+a);
}

1.2、变量的作用域

  • 在JavaScript中,var定义变量实际是有作用域的(例:在函数体内申明,在函数体外不可以使用)

  • 如果两个函数使用了相同的变量名,只要在函数体内,就不冲突

  • 内部函数可以访问外部函数的成员,反之则不行

规范(把自己的代码放在自己定义的唯一空间中,降低命名冲突问题)

var xxx = {}; // 唯一全局变量
xxx.name = ''; // 定义全局变量
xxx.add = function(a,b){
    return a + b; //定义方法
}

常量(const)

1.3、方法

方法就是放在对象里面,对象只有两个东西:属性和方法

定义

var xxx = {
    name : 'sss',
    birth : 2000,
    age:function(){
        var now = new Date().getFullYear();
        return now - this.birth;
    }
}

拆分定义

function gatAge(){
    var var now = new Date().getFullYear();
        return now - this.birth;
}
​
var *** = {
     name : 'sss',
    birth : 2000,
    age:getAge
}

apply

在JavaScript中可以控制this指向

function gatAge(){
    var var now = new Date().getFullYear();
        return now - this.birth;
}
​
var *** = {
     name : 'sss',
    birth : 2000,
    age:getAge
}
var xiaoming = {
     name : '小明',
    birth : 2000,
    age:getAge
}
​
getAge.apply(***,[]); // this指向了***,参数为空
getAge.apply(xiaoming,[]);

2、内部对象

2.1、Data

基本使用

var now = new Data();
now.getFullYear();//年
now.getMouth();//月
now.getData();//日
now.getDay();//星期几
now.getHours();//时
now.getMinutes();//分
now.getSeconds();//秒
​
now.getTime();//时间戳 全国统一
console.log(new Data(1651551780241);

转换

console.log(new Date(1651551780241))
Tue May 03 2022 12:23:00 GMT+0800 (中国标准时间)
​
now.toLocaleString();
'2022/5/3 12:23:00'
​
now.toGMTString()
'Tue, 03 May 2022 04:23:00 GMT'

2.2、JSON

json是什么点击跳转百度百科

JSON字符串和JS对象的转化

var user = {
    name:"xxx",
    age:3,
    sex:'男'
};
//对象转化为json字符串
var jsonUser = JSON.stringify(user);
//JSON字符串转化为对象
var obj = JSON.parse{'{"name":"xxx","age":3,"sex":"男"}'};

3、面向对象编程

3.1、class继承

1、定义一个类。属性,方法

class student{
    constructor(name){
        this.name = name;
} 
    hello(){
        alert("hello");
    }
}
//创建对象
var xiaoming = new student("xiaoming");
xiaoming.hello();

2、继承

class student{
    constructor(name){
        this.name = name;
} 
    hello(){
        alert("hello");
    }
}
​
class xxx extends student{//继承
    constructor(name,grade){
        super(name);
        this.grade = grade;
}  
    myGrade(){
        alert("sss");
    }
}
var xiaoming = new xxx("xiaoming",2);

原型链(__ proto __)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值