JavaScript一些关键概念
垃圾回收:http://www.cnblogs.com/dolphinX/p/3348468.html 引用计数和标记清除
作用链和闭包:http://www.cnblogs.com/dolphinX/p/3280876.html
JavaScript内部机制深入讲解
原型链
http://www.cnblogs.com/onepixel/p/5024903.html
http://www.cnblogs.com/sitemanager/p/3535959.html new关键字
http://www.cnblogs.com/onepixel/p/5024903.html prototype和_proto_
http://www.cnblogs.com/purediy/archive/2012/09/12/2682490.html 还是原型链,讲new的原理
http://www.cnblogs.com/onepixel/p/5043523.html 还是讲new,讲new不仅创建了对象还实现了继承
http://www.cnblogs.com/onepixel/p/5036369.html scope和this,其中scope讲的还是作用域,this表示的当前调用函数的对象,如果没有则默认是windows对象
http://www.cnblogs.com/dolphinX/p/3280876.html 作用域链
使用js模仿类:
http://www.wufangbo.com/js-ding-yi-lei/
http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 阮一峰,主要是通过作用域链来实现函数
http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_encapsulation.html 模仿实现封装
三种实现继承的方式:有点难度
http://www.cnblogs.com/tugenhua0707/p/5068449.html#3332550
http://www.cnblogs.com/purediy/archive/2012/09/13/2684007.html
javascript中对象分为普通对象和函数对象,其中函数对象有三种形式
闭包:
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html?20120612141317#comments 阮一峰
总结:
js只有函数作用域,没有块作用域。
new关键字创建对象,将this绑定到函数对象,执行函数,并将函数内的变量赋值给该对象,使之成为成员变量
this表示当前调用函数的对象,若没有默认为windows。
当一个对象被引用时,整个作用域链是不会被垃圾回收机制回收的。每个作用域链节点是函数,要顺着作用域链查找变量。
函数对象增加变量的时候要使用prototype,否则将视为static变量为所有实例对象所共有。而普通对象直接使用点运算符即可添加属性
原型链上的节点是共用的,而作用域链上的节点,每执行一次就是不同的节点。
模拟类的实现的两种方法,一种使用new关键字这主要是通过原型链方式实现,另一种通过var a = {}闭包实现,通过作用域来实现。
使用prototype和使用this来添加成员函数/变量的区别是,实例化以后前者所有实例共享一份内存,后者是所有实例都有一份拷贝。
闭包看作静态变量
new Function得到的对象还可以继续使用 new调用其构造函数
不错的js博客
http://www.cnblogs.com/sitemanager/category/538640.html
http://www.cnblogs.com/onepixel/
http://www.cnblogs.com/onepixel/p/5036369.html
JavaScript一些关键概念的更多相关文章
- Kafka学习之(一)了解一下Kafka及关键概念和处理机制
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模小打的网站中所有动作流数据.优势 高吞吐量:非常普通的硬件Kafka也可以支持每秒100W的消息,即使在非常廉价的商用机器上也能做 ...
- Docker关键概念阐述
要了解Docker需要对其体系结构中的几个关键概念有所了解,主要包括image.container.service.swarm.stack等. 在介绍这几个概念时,会使用到一个测试环境,这个测试环境是 ...
- 【NS-3学习】ns3-模拟基础:关键概念,日志,命令行参数
前言 本篇博客先介绍在仿真过程中会使用到的一些关键概念,然后介绍便于调试仿真脚本的常用技术:日志.命令行参数. 关键概念 节点 在因特网术语中,主机(终端)是指任何一台连接到网络的计算设备.ns-3并 ...
- Libra教程之:Libra协议的关键概念
文章目录 Libra协议 交易和状态 交易详解 账本状态详解 版本数据库 账户 账户地址 Proof 验证节点 存储 Libra协议 Libra协议是Libra区块链的基础,本文主要讲解Libra协议 ...
- DotNetty关键概念及简单示例(基于NET5)
DotNetty关键概念及简单示例(基于NET5) 目录 DotNetty关键概念及简单示例(基于NET5) 1.DotNetty 设计的关键 1.1 核心组件 1.1.1 Channel 1.1.2 ...
- Javascript中关键参数this浅析
自从接触javascript以来,对this参数的理解一直是模棱两可.虽有过深入去理解,但却也总感觉是那种浮于表面,没有完全理清头绪. 但对于this参数,确实会让人产生很多误解.那么this参数到底 ...
- javascript,jquery(闭包概念)(转)
偶尔听人说javascript闭包,让我联想起以前学编译原理和数字逻辑里讲的闭包,以前上课讲的闭包很难懂,而且含有递归的意思在里面,现在不想再查看里面的闭包概念. 但javascript我是经常要用, ...
- 面向对象JavaScript的基本概念
一.类和对象 1, JavaScript对象分为三类:本地对象,内置对象,宿主对象. 本地对象有15种:Object Function Array String Number Boolean Date ...
- JavaScript之DOM概念
一.DOM概念 1.DOM是什么? 1.1 起源.DOM起源于Netscape与Microsoft 公司的DHTML(动态HTML). 1.2 名词解释.Document Object Model,文 ...
随机推荐
- hbuilder的aptana php插件无法提示命名空间之外函数和对象的解决办法
- FushionCharts Free 的运用[2D/3D图表处理]
由于先前在一些论坛中谈论到这个插件的运用,留了一些QQ联系方式,最近老是被一些程序员“骚扰”,说是请教一些关于FushionChart Free图表的处理技术,先前还是比较乐意接受的,但发现后来一些完 ...
- android 开发 socket发送会有部分乱码,串码,伴随着数据接收不完整
场景: 客户端A.B,A向B发送json字符串后紧接着发送文件,B接收到文件后才返回消息. 环境:android.使用的是原始的write 和read (若使用的是writeUTF不会出现此问题.)需 ...
- Java Synchronized Blocks vs. Methods
It's possible to synchronize both an entire method and a section of code within a method, and you ma ...
- java 命名代码检查-注解处理器
命名代码检查 根据 <Java 语言规范( 第 3 版 ) > 中第6.8节的要求, Java 程序命名应当符合下列格式的书写规范: 类 ( 或接口 ) : 符合驼式命名法, 首字母大写. ...
- git manual
git init # 初始化本地git仓库(创建新仓库) git config --global us ...
- hdu 4240 Route Redundancy 最大流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4240 A city is made up exclusively of one-way steets. ...
- 【BZOJ】【1050】【HAOI2006】旅行comf
枚举/暴力/Kruskal orz……我sb了……其实是sb题<_< 有一道题问的是最小极差生成树……(不记得是什么名字了,就是求最大边权与最小边权差最小的生成树)做法是枚举最小边,然后k ...
- C51关键字
C51 中的关键字 关键字 用途 说明 auto 存储种类说明 用以说明局部变量,缺省值为此 break 程序语句 退出最内层循环 case 程序语句 Switch语句中的选择项 char 数据类型说 ...
- json_encode charset
json_encode utf-8 mysql charset utf8