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,文 ...
随机推荐
- Python科学计算(一)环境简介——Anaconda Python
Anaconda Python 是 Python 科学技术包的合集,功能和 Python(x,y) 类似.它是新起之秀,已更新多次了.包管理使用 conda,GUI基于 PySide,所有的包基本上都 ...
- SQL Server性能优化(3)使用SQL Server Profiler查询性能瓶颈
关于SQL Server Profiler的使用,网上已经有很多教程,比如这一篇文章:SQL Server Profiler:使用方法和指标说明.微软官方文档:https://msdn.microso ...
- 小技巧--字符串输入从a[1]开始
char a[100],b[100]; cin>>a>>(b+1);//cin: abcd abcd cout<<a[1]<<endl<<b ...
- vector内存分配
vector,map 这些容器还是在堆上分配的内存,在析构时是释放空间 vector在提高性能可以先reserve在push_back() reserve:决定capacity,但没有真正的分配内存, ...
- mvc从xheditor编辑器中获取内容时存在潜在危险
xmfdsh在使用xheditor提交要发布的文章等内容的时候出现了如下的错误: 从客户端(Content="<p style="text-align...")中检 ...
- Websphere中静态资源配置
Tomcat, Jetty, JBoss, GlassFish 自带的默认Servlet的名字 default Google App Engine 自带的 默认Servlet的名字 ah_defaul ...
- spring mvc注解@RequestParam
在spring mvc 的使用过程中 获取 页面传来的参数的时候,我平时都习惯 @RequestParam String name,突然有一天我发现 直接在方法参数后面写 String name , ...
- IE如何兼容placeholder属性
在前端开发中,经常需要为input设置placeholder属性,但是placeholder是HTML5新属性,在IE10以下不兼容,那么如何完美兼容呢? 网上搜索了一下,其实也挺简单的,可以采用以下 ...
- 网页出现scanstyles does nothing in Webkit / Mozilla的解决方法
今天ytkah要验证一些百度服务,那边的客服MM说她用ie浏览器打开网页出现"scanstyles does nothing in Webkit / Mozilla / Opera" ...
- mysql存储过程和事件
1.会员表member和车辆表car,更新每个会员下面的车辆数量have_car字段. DELIMITER $$ USE $$ DROP PROCEDURE IF EXISTS `sp_update_ ...