美文网首页
2018-07-12 JavaScript(4)

2018-07-12 JavaScript(4)

作者: 棕色试剂瓶 | 来源:发表于2018-07-12 21:07 被阅读0次

JavaScript基础语法(4)

在js中,万物皆对象。为什么zhe么说呢?因为即使是一个类,在js中也是object或者window的一个对象。

对象

代码示例:

  function User(id,name) {
        this.id=id;
        this.name=name;
        this.show=function () {
            console.log(this.id+">>>"+this.name)
        }
    }
    var u1=new User('001','tom');
    var u2=new User('008','rose');
    u1.nation='china';

说明:

  • 当进行u1.nation='china'操作后,相当于User类新加了一个nation属性,并且将u1的nation属性设置为china。

代码示例:

    function Admin() {}
    var ad01=new Admin();
    var ad02=new Admin();
    ad01.name='admin001';

说明:

  • 函数也可以看成是一个类,同样可以通过上述方法为其添加属性,赋值。
    代码示例:
    var vip={};
    vip.name='vipuser';

说明:

  • 也可直接为类通过.的方式添加属性,并赋值。

原型链

任何一个类都有一个原型,原型中存放的东西是共有的,可以被其实例化的对象所调用,也可以被其子类的实例化对象所调用。
图片示例:

图形说明.png
  • 结合图片,当调用u1的属性时,会现在u1的父类中寻找,若没有找到会到其父类的prototype中寻找,如果还没找到回到其父类的父类的prototype中寻找。

u1=>u1父类=》u1父类prototype=》u父类的父类=》u1父类的父类的prototype

  • 这里面在类没有实例化的时候相当于一个二维平面,只具备逻辑概念,没有实体。prototype和类实例化都相当于几何体,有实际意义。
    代码示例:
   User.prototype.nation='usa';
    User.prototype.show=function () {

    }
    User.prototype.school='qinghua';
    var u1=new User('001','tom');
    var u2=new User('008','rose');
    u1.nation='china';

    console.log(`u1.nation=${u1.nation}`);
    console.log(`u2.nation=${u2.nation}`);

结果:

u1.nation=china
u2.nation=usa

  • 通过结果可以看出,prototype中的nation为所有对象共有。

可以通过如下方法整理自己的功能代码:

function Util(){
}
//登录功能
Util.prototype.login(){
}
//排序功能
Util.prototype.sort(){
}

以后在使用过程中可以直接通过Util.login()来调用方法。

计时器

计时器主要分为两种:

  1.  // var timeout=setTimeout(show,2000);//2000毫秒后执行一次  
    
  2. var inter=setInterval(show,1000); //间隔1000毫秒执行一次  
    
  • js是一种单线程异步的语言。

js一次只能执行一个任务,一个任务在执行一段时间后执行下一个,因为执行速度太快使人们觉得多任务同时执行。
代码示例:

 function add(m,n) {
        var c;
        setTimeout(function () {
            c=m+n;
        },100);
        return c;
    }
    console.log(add(10,20));

上面程序执行的结果为

undefined

  • 因为当程序执行到setTimeout时,程序不会等待,而是直接向下执行,会直接返回c。c此时未定义,所以结果为undefined。(造成此结果的原因即为js的单线程异步执行机制)

回调函数

说明:

即a调用一个函数,在函数结束后会返回来调用通知a。

代码示例:

function add(m,n,callback) {
       setTimeout(function () {
           var c=m+n;
           callback(c);   //show(30)
       },3000);
    }

 add(30,40,function (res) {
        console.log(res);
    })

这段代码中虽然function中会返回undfined,但是并被有人接受它,程序不结束,等待计时器结束后输出结果。


this

this表示this所在的函数被谁调用,this就是谁。


相关文章

  • 2018-07-12 JavaScript(4)

    JavaScript基础语法(4) 在js中,万物皆对象。为什么zhe么说呢?因为即使是一个类,在js中也是obj...

  • 关于JavaScript概念的总结

    大纲 1、JavaScript的概念2、JavaScript 特点3、JavaScript是弱类型语言4、Java...

  • javascript简介

    1.JavaScript是? 2.JavaScript 的特点 3.JavaScript 的组成 4.引入 Jav...

  • day01

    A我今天学了什么 1.JavaScript简介 2.JavaScript组成 3.JavaScript语法 4.数...

  • day01

    1.我学了什么 1.JavaScript功能 2.JavaScript组成 3.JavaScript语法 4数据类...

  • 古花瓶(惊悚故事)

    好故事创作室 2018-07-12 15:21 · 字数 7586 · 阅读 0 · 故事系列 ...

  • pytorch中LSTM笔记

    title: pytorch中LSTM笔记date: 2018-07-12 16:52:53tags:- torc...

  • 2018-07-23

    在centos 2018-07-12成功安装virtualbox centos ubuntu并使用xshell...

  • Javascript异步编程的4种方法

    Javascript异步编程的4种方法 Javascript语言的执行环境是"单线程"Javascript语言将任...

  • ajax前后端交互原理(4)

    4.JSON #4.1 什么是JSON? JavaScript 对象表示法(JavaScript Object N...

网友评论

      本文标题:2018-07-12 JavaScript(4)

      本文链接:https://www.haomeiwen.com/subject/ubarpftx.html