本系列内容是阅读javascript_core的笔记,原文见http://abruzzi.iteye.com/
22. javascript支持构造器形式的对象创建。构造器会自动为新创建的对象设置原型对象,此原型对象通过构造器的prototype属性来引用。
function Task(id) {
this.id = id;
}
Task.prototype.status = "STOPPED";
Task.prototype.execute = function(args) {
return "execute task_" + this.id + "[" + this.status + "]:" + args;
}
var task1 = new Task(1);
var task2 = new Task(2);
task1.status = "ACTIVE";
task2.status = "STARTING";
alert(task1.execute("task1"));
alert(task2.execute("task2"));
下图说明了此原型链的结构:
23. 执行期上下文的概念贯穿于javascript引擎解释代码的全过程,这个概念是一个运行期的概念。执行期上下文一般实现为一个栈。按照ECMAScript的规范,一共有三种类型的代码,全局代码(游离于任何函数体之外)、函数代码、以及eval代码
24. 作用域链与原型链类似,也是一个对象组成的链,用以在上下文中查找标识符(变量,函数等)。查找时也与原型链类似,如果调用对象(更标准的名称是活动对象,Activation Object)本身具有该变量,则直接使用变量的值,否则向上层搜索,直到查找到或者返回undefined。
作用域链的主要作用是查找自由变量,所谓自由变量是指,在函数中使用的,非函数内部局部变量,也非函数内部定义的函数名,也非形式参数的变量。这些变量通常来自于函数的“外层”或者全局作用域,比如在函数内部使用的window对象及其属性
var topone = "top-level";
(function outter() {
var middle = "mid-level";
(function inner() {
var bottom = "bot-level";
alert(topone + ">" + middle + ">" + bottom);
})();
})();
25. this是执行期上下文对象的属性,因此在代码中使用this,其值直接从上下文对象中获得,无需查找作用域链,其值在进入上下文的那个时刻被确定。
26. 在javascript中,函数对象的创建和函数本身的执行是完全不同的两个过程
分享到:
相关推荐
我有全手套的java相关技术的笔记,超级好。如: 1_unix.rar; 2_corejava_tiger.rar; 3_xml.rar; 4_oracle.rar; 5_jdbc.rar; 6_hibernate.rar; 7_html.rar; 8_servlet.rar; 9_jsp.rar; 10_struts2.rar; 11_...
EXT_JS实用开发指南主要涵盖了EXT_JS框架的基础使用和核心组件,这是基于JavaScript的富客户端应用开发库,特别适合构建桌面级的Web应用。以下是对EXT_JS开发的一些关键知识点的详细解释: 1. **引入EXT_JS库**: ...
EXT_JS是一种基于JavaScript的富客户端应用开发框架,主要用于构建用户界面。这个开发指南主要涵盖了EXT_JS的基本使用方法和核心概念,对于入门EXT_JS的开发者来说是十分宝贵的资源。以下是EXT_JS的一些关键知识点:...
1. 底层API(Core):提供了对DOM操作、查询的封装、事件处理、DOM查询器等基础功能。 2. 控件(Widgets):提供了各种可视化组件,如面板、选项板、表格、树、窗口、菜单、工具栏、按钮等等。 3. 实用工具(Utils)...
7. **static**:图片、JavaScript等静态资源目录。 8. **template**:模板源文件目录,用于存放前端页面的模板文件。 9. **uc_client**:UCenter客户端接口目录,用于与UCenter服务器端进行通信。 10. **uc_server**...
达内培训五个月以来的笔记:tarena_note 包含以下十八个文档,系统的记录了达内五个月培训的整个过程,非常实用,推荐下载. 分数比较贵,不过物有所值. 01. Unix note.txt 02. SQL note.txt 03. PL SQL note.txt 04. ...
"vue_core:vue原始码学习笔记" 涉及到Vue.js的内部机制,包括观察员、编译和观察者(订阅者)等关键概念,这些都是理解Vue.js如何高效地响应式更新视图的关键。 首先,我们来深入探讨一下**观察员(Observer)**。...
Core Java Unix JSP HTML javascript Oracle HIbernate JSP EJB Spring AJAX Servlet JDBC OOAD UML CVS Struct笔记汇总,最初学者,开发者是一个很好的知识汇总复习参考资料
- `cat`与`more`:查看文件内容,`cat`一次性显示所有内容,`more`则分屏显示,便于阅读。 - `chmod`:修改文件或目录的权限。 #### 进程管理 - 进程与作业的关系,以及如何管理前后台进程。 - 使用`kill`命令终止...
【Core Java心得笔记】主要涵盖了Java编程的基础及进阶知识,包括对象导向编程、类与对象、封装、继承、多态、接口、异常处理、集合框架、IO流、线程等核心概念。以下是对这些知识点的详细阐述: 1. **对象导向编程...
在达内云笔记中,开发人员可能使用了.NET Core或.NET Framework来构建后端服务,因为它提供了丰富的类库和工具支持。 2. **C#编程语言**:.NET框架的主要编程语言是C#,它是一种现代、类型安全、面向对象的语言。在...
### Java_笔记整理 #### 知识点概览 本篇文档主要涵盖了Java学习过程中的核心知识点,并且涉及到了部分Linux/Unix基础知识。通过这份笔记,我们能够深入了解Java语言的基础特性、面向对象的设计原则以及一系列高级...
学习HTML时,笔记可能包括各种标签的用法、布局技巧以及与CSS和JavaScript的配合使用。 SQL Server是微软公司的一款关系型数据库管理系统,用于存储、管理和检索数据。学习SQL Server,你需要掌握T-SQL(Transact-...
我有全手套的java相关技术的笔记,超级好。如:1_unix.rar; 2_corejava_tiger.rar; 3_xml.rar; 4_oracle.rar; 5_jdbc.rar; 6_hibernate.rar; 7_html.rar; 8_servlet.rar; 9_jsp.rar; 10_struts2.rar; 11_...
这些"达内java笔记"涵盖了从基础到高级的各种主题,旨在帮助学习者深入理解Java编程的核心概念以及与之相关的技术栈。以下是对笔记中涉及知识点的详细解析: 1. **Core Java**:这是Java的基础,包括语法、数据类型...
计算机软件编程学习笔记: 01. Unix note.txt 02. SQL note.txt 03. PL SQL note.txt 04. CVS note.txt 05. Core Java exercise.txt 05. Core Java note.txt 06. OOAD & UML note.txt 07. Xml note.txt 08. JDBC ...
我有全手套的java相关技术的笔记,超级好。如: 1_unix.rar; 2_corejava_tiger.rar; 3_xml.rar; 4_oracle.rar; 5_jdbc.rar; 6_hibernate.rar; 7_html.rar; 8_servlet.rar; 9_jsp.rar; 10_struts2.rar; 11_...
压缩包内的文件大部分是PowerBuilder的相关运行时库(如pbvm115.dll等)和OpenCV的动态链接库(如opencv_core231.dll等),它们是程序运行所必需的。jsx_camera.dll和libjcc.dll可能是用于连接JavaScript和OpenCV的...
**WebKit 开发学习笔记概述** WebKit 是一个开源的 Web 内核引擎,广泛应用于苹果的 Safari 浏览器、谷歌的 Chrome 浏览器以及许多移动设备上的浏览器。WebKit 提供了网页渲染、JavaScript 执行、网络通信等功能,...