当前位置: 首页 > news >正文

网站建设的四个步骤/seo自动优化软件下载

网站建设的四个步骤,seo自动优化软件下载,武汉做企业网站的公司,网站建设税种分类this就是函数运行时自动生成的一个内部对象 首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,…

this就是函数运行时自动生成的一个内部对象       

  首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉,那么接下来我会深入的探讨这个问题。

  为什么要学习this?如果你学过面向对象编程,那你肯定知道干什么用的,如果你没有学过,那么暂时可以不用看这篇文章,当然如果你有兴趣也可以看看,毕竟这是js中必须要掌握的东西。

  1.   (alert也是window的一个属性,也是window点出来的。)

function a(){var user = "追梦子";console.log(this.user); //undefinedconsole.log(this); //Window
}
a();//像这中的都是window对象调用的,,,等同于window.a();  函数的里面指向的就是window,,,,window.user没有定义,所以是undifined

  2.

var o = {user:"追梦子",fn:function(){console.log(this.user);  //追梦子
    }
}
o.fn();   //fn()这个函数是o这个对象调用的,,,所以里面的this指向的是o    o.user == "追梦子”

  3.

var o = {user:"追梦子",fn:function(){console.log(this.user); //追梦子
    }
}
window.o.fn(); // this指向o  因为函数前面的第一个是o
var o = {a:10,b:{a:12,fn:function(){console.log(this.a); //12
        }}
}
o.b.fn();//等价于  window.o.b.fn()    函数真正运行是fn()  前面第一个调用的是b,,,所以this指向的是b对象
var o = {a:10,b:{// a:12,fn:function(){console.log(this.a); //undefined
        }}
}
o.b.fn();//b

  通过上面的例子,我们可以看到,,要确定this的指向问题,必须要看调用的时候的实际情况,我们其实可以这样,每个调用的时候,在前面都可以加上window调用,这样再去看;

       this的指向就是调用的时候,this指向的前面的(第一个)对象  

  然后我们看下面的这个例子:

var o = {a:10,b:{a:12,fn:function(){console.log(this.a); //undefinedconsole.log(this); //window
        }}
}
var j = o.b.fn;不要看这,,,因为函数在这边是没有调用的,没有调用就是什么也没有用
j();//等价于window.j();  这样的话,我们知道这个函数执行的时候,里面的this指向的window

 

                    this永远指向的是最后调用它的对象

 

构造函数版this:(new可以改变this的指向)

function Fn(){this.user = "追梦子";
}
var a = new Fn();//this指向a
console.log(a.user); //追梦子

    new运行原理是:

new Animal('cat') = {//类似这样var obj = {};//先定义一个空对象obj.__proto__ = Animal.prototype;//把 obj 的__proto__ 指向构造函数 Animal 的原型对象 prototype,此时便建立了 obj 对象的原型链:obj->Animal.prototype->Object.prototype->null
    var result = Animal.call(obj,"cat");//改变this指向,从Animal改变到obj上
return typeof result === 'object'? result : obj; //返回
}

 

    当this碰到return时

      1.

function fn()  
{  this.user = '追梦子';  return {};  
}
var a = new fn;  
console.log(a.user); //undefined

 

        2.

function fn()  
{  this.user = '追梦子';  return function(){};
}
var a = new fn;  
console.log(a.user); //undefined

        3.

function fn()  
{  this.user = '追梦子';  return 1;
}
var a = new fn;  
console.log(a.user); //追梦子

 

        4.

function fn()  
{  this.user = '追梦子';  return undefined;
}
var a = new fn;  
console.log(a.user); //追梦子

     通过上面的例子,我们可以看到,当返回值位Object的时候,this指向是改变的,当是其他类型的时候,this指向是不会改变的,还会指向那个实例

        还有一点就是虽然null也是对象,但是在这里this还是指向那个函数的实例,因为null比较特殊。(null也是Object类型)

知识点补充:

     在严格版中的默认的this不再是window,而是undefined。

 

转载于:https://www.cnblogs.com/web-chuan/p/9096350.html

http://www.lbrq.cn/news/1321597.html

相关文章:

  • 网站怎样添加友情链接/识别关键词软件
  • 竭诚网络网站建设公司/大数据分析
  • 网站建设长春/今日新闻国内大事件
  • 微网站访问量/seo综合查询工具下载
  • wordpress插件改名/平台优化是什么意思
  • 静态网站源码下载/今日头条10大新闻
  • python做网站难么/青海网站seo
  • 邢台做wap网站费用/抖音搜索引擎推广
  • 网络公司是做什么/怎么做优化
  • 毕设做网站需要买域名么/网站推广策略有哪些
  • 旅游网站的功能/高级搜索技巧
  • 网站编辑如何做/营销软文范文
  • 日本亲子游哪个网站做的好/百度指数下载
  • 做静态网站的软件/中文域名交易平台
  • wordpress网页设计步骤/国内做seo最好公司
  • 花卉网站建设项目策划书/seo搜索引擎优化实训报告
  • 广德县住房和城乡建设网站/如何做网站网页
  • wordpress本地运行速度慢/西安专业seo
  • 综合返利商城网站建设/软文案例
  • 通辽做网站制作/外包网络推广公司怎么选
  • 怀化汽车网站/百度网站快速优化
  • java怎么做网站多语言/鲜花网络营销推广方案
  • 江门找人做网站排名/搜索引擎优化包括哪些内容
  • 芜湖炎黄做的网站/秦洁婷seo博客
  • wordpress360收录插件/关键词排名优化系统
  • 个人网站 模版 后台管理系统/网络推广的渠道
  • 我的电脑做网站服务器吗/免费网页在线客服系统
  • 环球资源网站什么时候做的/互联网推广有哪些方式
  • 公司网站建设征稿令/中国科技新闻网
  • 西宁网站建设哪家好/独立站网站
  • Typora v1.10.8 好用的 Markdown 编辑器
  • 对于前端闭包的详细理解
  • 嵌入式教学的云端革命:高精度仿真如何重塑倒车雷达实验与工程教育——深圳航天科技创新研究院赋能新一代虚实融合实训平台
  • Android ConstraintLayout 使用详解
  • 从O(n²)到O(n log n):深度剖析快速排序的内存优化与cache-friendly实现
  • 基于deepseek的文本解析 - 超长文本的md结构化