js基础(三)

2018-07-18  本文已影响0人  仆歌

js基础

原型链和原型对象

...

<script type="text/javascript">

/要加this
function User(id,name) {
    this.id=id;
    this.name=name;
    this.show=function () {
        console.log(this.id+">>>"+this.name)
    }
}

var u1=new User('008','rose');
var u2=new User('008','rose');
//原型对象
user.prototype.nation='usa'
console.log(u1.nation);
</script>

...

js没有继承
原型对象prototype通常用来添加公共的属性或行为
且只有函数才能修改其内容,对象不能修改其数据
一般把公共的属性或行为放在原型对象里
所以上面的结果是 :

image

js是一种单线程异步的语言

...

function show() {
    console.log('hello');
}

//1000后执行一次 0时默认8毫秒 异步
var  time0ut=setTimeout(show,0)
console.log("在timeout后面")

...

因为js是单线程异步,而在遇到setTimeout函数时不会立即执行一般在短暂延迟后执行而在这期间会继续执行后续代码,所以上面的结果是

image

回调函数

回调函数的作用:
js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数。

回调函数的解释:
因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值”,因为函数是内置对象,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回,它一直被“专业的程序员”看作是一种难懂的技术。

回调函数的使用方法

...

   function a(callbackFunction){
   alert("这是parent函数a");
   var m =1;
   var n=3;
  return callbackFunction(m,n);
 }
 function b(m,n){
   alert("这是回调函数B");
   return m+n;
 }
 $(function(){
   var result = a(b);
   alert("result = "+ result);
 });

执行顺序为:

这是parent函数a

这是回调函数B

result = 4

函数首先执行了主题函数a,之后调用了回调函数b,最后返回函数a的返回值。

上一篇 下一篇

猜你喜欢

热点阅读