zoukankan      html  css  js  c++  java
  • 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的人,更加习惯于这种方式!

  • 相关阅读:
    Codeforces 1325D
    Codeforces 1325C
    Codeforces 1311F
    Codeforces 1311E
    Codeforces 1311D
    Codeforces 1316C
    JVM调试常用命令——jstack命令与线程状态(4)
    JVM调试常用命令——jstack命令与线程状态(3)
    JVM调试常用命令——jstack命令与Java线程栈(2)
    Java中类的比较与排序方法(应用Comparable接口与Comparator接口)
  • 原文地址:https://www.cnblogs.com/lmx-181028/p/12284457.html
Copyright © 2011-2022 走看看