作用域链与原型链的区别与联系
来源:互联网 发布:6s4g网络突然上不了网 编辑:程序博客网 时间:2024/06/05 19:31
作用域
先来看一段代码:
name=”lwy”;
function t(){
var name=”tlwy”;
function s(){
var name=”slwy”;
console.log(name);
}
function ss(){
console.log(name);
}
s();
ss();
}
t();当执行s时,将创建函数s的执行环境(调用对象),并将该对象置于链表开>头,然后将函数t的调用对象链接在之后,最后是全局对象。然后从链表开头寻找变量name,很明显
name是”slwy”。
但执行ss()时,作用域链是: ss()->t()->window,所以name是”tlwy”
原型链
当查找一个对象的属性时,JavaScript 会向上遍历原型链,直到找到给定名称的属性为止,到查找到达原型链的顶部(也就是 Object.prototype),如果仍然没有找到指定的属性,就会返回 undefined。
区别:1. 作用域是对于变量而言,原型链是对于对象的属性。
2. 作用域链顶层是window,原型链顶层是Object。
联系:从链表开头寻找,直到找到为止。
阅读全文
0 0
- 作用域链与原型链的区别与联系
- Javascript原型链,作用域链与new
- 队列、堆栈与数组、链表的区别与联系
- 原型与原型链
- 原型与原型链
- 原型与原型链
- 原型与原型链
- 原型与原型链
- 原型与原型链
- 原型与原型链
- 原型与原型链
- 原型和原型链,作用域链区别
- javascript的原型与原型链
- JavaScript的原型与原型链
- js原型与原型链的理解
- JavaScript的原型与原型链
- javascript的原型与原型链
- 白平衡的工作原理、作用与YUV、YCbCr的联系与区别
- Spring-获取路径
- c++对C语言的扩展(一)
- python篇1_细枝末节
- CF835D Palindromic characteristics(dp)
- HTML5多媒体素材应用
- 作用域链与原型链的区别与联系
- Ubuntu16.04安装mariadb
- Android开发之如何使用Eclipse调试程序
- Object转byte[];byte[]转Object
- 使用vector迭代器的一个现象
- Go TCP网络程序编写
- arm linux 命令行 网易云音乐
- js正则
- Spring框架--初探事务管理器