JavaScript学习(二)

内部对象

标准对象

typeof 123
"number"
typeof '123'
"string"
typeof true
"boolean"
typeof NaN
"number"
typeof []
"object"
typeof {}
"object"
typeof Math.abs
"function"
typeof undefined
"undefined"

1、Date

基本使用

var now = new Date();//Sat Feb 08 2020 19:22:46 GMT+0800 (中国标准时间)
        now.getFullYear();//年
        now.getMonth();//月 0-11 代表月
        now.getDate();//日
        now.getDay();//星期几
        now.getHours();//时
        now.getMinutes();//分
        now.getSeconds();//秒

        now.getTime();//时间戳 全世界统一 1970 1.1 00:00:00 毫秒数

        console.log(new Date(1581161422261));//时间戳转为时间

转换

now = new Date(1581161422261)
Sat Feb 08 2020 19:30:22 GMT+0800 (中国标准时间)
now.toLocaleString//注意:调用的是一个方式,不是一个属性
ƒ toLocaleString() { [native code] }
now.toLocaleString()
"2020/2/8 下午7:30:22"
now.toGMTString()
"Sat, 08 Feb 2020 11:30:22 GMT"

2、JSON

JSON是什么

早期,所有数据传输习惯使用XML文件!

  • JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。
  • 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
  • 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

在JavaScript一切皆为对象,任何js支持的类型都可以用JSON来表示;

格式:

  • 对象都用{}
  • 数组都用[]
  • 所有的键值对都是用key:value

JSON字符串和JS对象的转化

        var user = {
            name : "zhangsan",
            age : 5,
            sex : '男'
        }

        //对象转化为json字符串"{"name":"zhangsan","age":5,"sex":"男"}"
        var jsonuser = JSON.stringify(user);

        //json字符串转化为对象,参数为json字符串
        var obj = JSON.parse('{"name":"zhangsan","age":5,"sex":"男"}');

JSON和JS对象的区别

var obj = {name: "zhangsan", age: 5, sex: "男"};
var json = '{"name":"zhangsan","age":5,"sex":"男"}';

面向对象编程

原型对象

JavaScript、Java、c#...面向对象;JavaScript有些区别

  • 类:模板 原型对象
  • 对象:具体的实例

在JavaScript这个需要大家换一下思维方式!

原型:

        var student = {
            name : "zhangsan",
            age : 3,
            run : function () {
                console.log(this.name + " rum...");
            }
        };

        var xiaoming = {
            name : "xiaoming"
        }

        //原型对象 将xiaoming这个对象转为student这样的模板
        xiaoming.__proto__ = student;
        
        var Bird = {
            run : function () {
                console.log(this.name + " fly...");
            }
        };
        //xiaming的原型改为Bird
        xiaoming.__proto__ = Bird;

calss

calss关键字,实在ES6引入的

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

        //定义一个学生的类
        class Student{
            constructor(name){
                this.name = name;
            }

            hello(){
                alert('hello');
            }

        }

        var xiaoming = new Student("xiaoming");
        var xiaohong = new Student("xiaohong");
        xiaoming.hello();

2、继承

       //定义一个学生的类
        class Student{
            constructor(name){
                this.name = name;
            }

            hello(){
                alert('hello');
            }

        }

        class XiaoStudent extends Student{
            constructor(name,grade){
                super(name);
                this.grade = grade;
            }
            myGrade(){
                alert("我是一个小学生");
            }
        }

        var xiaoming = new Student("xiaoming");
        var xiaohong = new Student("xiaohong");

本质:查看对象原型,看以看出本质与上面的一样,不过对于学习过Java的人,更加习惯于这种方式!

原文地址:https://www.cnblogs.com/lmx-181028/p/12284457.html