摘要:
接着看函数——这个具有魔幻色彩的对象。在上篇文章中说函数内部属性时,还遗留了一个this内部属性没有解释,不过在说this之前,我想先说一说执行环境和作用域的概念。6、执行环境和作用域(1)执行环境(execution context):所有的JavaScript代码都运行在一个执行环境中,当控制权转移至JavaScript的可执行代码时,就进入了一个执行环境。活动的执行环境从逻辑上形成了一个栈,全局执行环境永远是这个栈的栈底元素,栈顶元素就是当前正在运行的执行环境。每一个函数都有自己的执行环境,当执行流进入一个函数时,会将这个函数的执行环境压入栈顶,函数执行完之后再将这个执行环境弹出,控制权 阅读全文
文章分类 - JavaScript
JavaScript高级程序设计(第3版)学习笔记6——初识对象
2012-08-31 09:04 by focusdada, 154 阅读, 收藏,
摘要:
砌好墙,下面出场的就是房子了,在ECMAScript中,对象就是我们所说的房子,至于你所写的整个应用程序,那就是一整套建筑群了。在房子里面可以放你想放的任意事物——如果你有足够的美学造诣,你甚至可以弄一个房中房试试——当然,为了方便管理,我们会给房子里存放的所有事物都会取上一个不重复的名字,比如医药房间里的各种药品名称。在ECMAScript中,你可以在对象中存放任意你想放的数据,同样,我们需要给存放的数据取一个名字——也就是对象的属性名,再存放各种数据。再看看ECMA-262中对象的定义:无序属性的集合,其属性可以包含简单数据类型值、对象或者函数。 进入对象,我开始有些激动了,说实话,让我. 阅读全文
JavaScript高级程序设计(第3版)学习笔记7——函数(上)
2012-08-31 09:04 by focusdada, 132 阅读, 收藏,
摘要:
变量类型 在说函数之前,先来说说变量类型。1、变量:变量在本质上就是命名的内存空间。2、变量的数据类型:就是指变量可以存储的值的数据类型,比如Number类型、Boolean类型、Object类型等,在ECMAScript中,变量的数据类型是动态的,可以在运行时改变变量的数据类型。3、变量类型:是指变量本身的类型,在ECMAScript中,变量类型就只有两种:值类型和引用类型。当变量的数据类型是简单数据类型时,变量类型就是值类型,当变量的数据类型是对象类型时,变量类型就是引用类型。在不引起歧义的情况下,也可以称变量的数据类型为变量类型。 那么,值类型和引用类型有什么区别呢?最主要的一个,就.. 阅读全文
JavaScript高级程序设计(第3版)学习笔记5——语句
2012-08-31 08:56 by focusdada, 175 阅读, 收藏,
摘要:
砖瓦和水泥都有了,接下来该是砌墙了,在ECMAScript中,语句就是我们需要砌的墙了。语句也和操作符一样,对于有C背景的人来说再自然不过了,下面采用类似的形式整理一下语句的相关知识,重点突出一些ECMAScript中比较特别和个人认为比较有意思的地方,同样,没有强调的但比较基础的语句并非不重要,而是我认为你已经熟悉。语句一览语句语法简要描述简单语句 ;语句以分号(;)结束,在不引起歧义的情况下也可以省略分号。语句块{}使用大括号({})将一组语句放一起组成一个语句块,在ECMAScript中,有语句块,但没有语句块作用域。if语句if(condition){}if(ocndition){}e 阅读全文
JavaScript高级程序设计(第3版)学习笔记3——简单数据类型
2012-08-31 08:55 by focusdada, 166 阅读, 收藏,
摘要:
数据类型是编程语言的砖瓦,是所有你能想象到的复杂抽象的基础,在现代编程语言中,除了语言本身内置的一些简单数据类型外,基本上都提供了用于自定义数据类型的语言机制(在C中也可以利用结构体来实现),这些机制在一定程度上也决定了该语言的流行度和生命力。ECMAScript是一种动态类型的语言,构建于5种简单数据类型(Undefined、Null、Boolean、Number、String)和一种复杂数据类型(Object)的基础之上。这篇文章就来复习一下简单数据类型,我会尽量从编程实践的角度来描述,下面代码运行环境为FireFox 14.0.1。简单数据类型简单数据类型取值Undefinedundef 阅读全文
JavaScript高级程序设计(第3版)学习笔记4——运算符和操作符
2012-08-31 08:55 by focusdada, 126 阅读, 收藏,
摘要:
如果说数据类型是编程语言的砖瓦,那么运算符和操作符则是编程语言的石灰和水泥了,它是将各种数据类型的值有机组合的糅合剂,使得数据值不再只是一个孤立的值,而有了一种动态的灵性。在ECMAScript中,有非常丰富的运算符和操作符,在这篇文章中将按通常的分类来稍微整理一下,不过在整理之前,先说明一下:1、虽然标题是运算符和操作符,然而在我看来并没有多少严格区分的必要,在英文中,貌似也是用一个Operator来表示,所以在下文中我可能会混用。甚至,一些不属于运算符和操作符范畴的,我也整理在这里,只要我觉得必要。2、对于运算符的优先级,你无需一一牢记——我相信你知道最简单的”先乘除,后加减”,至于其它的 阅读全文
JavaScript高级程序设计(第3版)学习笔记2——基础语法
2012-08-31 08:54 by focusdada, 160 阅读, 收藏,
摘要:
这一篇复习一下ECMAScript规范中的基础语法,英文好的朋友可以直接阅读官方文档。JavaScript本质上也是一种类C语言,熟悉C语言的朋友,可以非常轻松的阅读这篇文章,甚至都可以跳过,不过建议你最好还是看一看,在介绍的同时,我可能会引用一些自认为不易理解且比较流行的用法。基础语法1、标识符:所谓标识符,实际上就是指一个满足一定规范,能够被引擎识别的名字,可以用来表示常量、变量、函数名、函数参数、对象、对象属性等所有可命名对象的名称。(1)区分大小写。(2)以字母、下划线(_)或美元符号($)开头,其它字符可以为字母、下划线、美元符号或数字。这里的字母包含扩展的ASCII或Unicode 阅读全文
JavaScript高级程序设计(第3版)学习笔记1——概述
2012-08-31 08:54 by focusdada, 154 阅读, 收藏,
摘要:
在JavaScript面世之初,没有人会想到它会被应用的如此广泛,也远比一般人想象中的要复杂强大的多,在我自己学习的过程中,曾经有过多次震撼,只是常常没有过多久,很多美轮美奂的用法就又模糊起来,希望通过对JavaScript高级程序设计(第3版)的专题学习笔记,能够较为系统的将基础知识梳理一次,也能够将自己平常学习与工作过程中遇到的一些美妙用法记录下来,便于自己再次学习,当然,也希望可以给有需要的朋友们一些力所能及的帮助。相关术语 先简要说一下和JavaScript相关的一些背景术语,就不详细讨论JavaScript的历史了,想了解的朋友可以参考原书。ECMA:欧洲计算机制造商协会(Stan. 阅读全文
Javascript加载执行问题探索
2011-12-05 11:26 by focusdada, 170 阅读, 收藏,
摘要:
做前端开发少不了各种利器。比如我习惯用的还是Google浏览器和重型武器Fiddller。一:原始情况首先大家看看如下的代码:1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="JsLoad.Default" %>2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " 阅读全文
document.domain 跨域问题
2011-11-07 13:42 by focusdada, 155 阅读, 收藏,
摘要:
document.domain用来得到当前网页的域名。比如在地址栏里输入:javascript:alert(document.domain); //www.forjj.com我们也可以给document.domain属性赋值,不过是有限制的,你只能赋成当前的域名或者基础域名。比如:javascript:alert(document.domain = "forjj.com"); //forjj.comjavascript:alert(document.domain = "www.forjj.com"); //www.forjj.com上面的赋值都是成功的, 阅读全文
提高性能JavaScript 加载与执行
2011-08-25 11:57 by focusdada, 143 阅读, 收藏,
摘要:
阻塞特性:JS 有个很无语的阻塞特性,就是当浏览器在执行JS 代码时,不能同时做其他任何事情,无论其代码是内嵌的还是外部的。脚本位置:浏览器在碰到一个引入外部JS 文件的<script>标签时会停下所有工作来下载并解析执行它,在这个过程中,页面渲染和用户交互完全被阻塞了,为了避免页面加载时的停顿甚至空白页的出现,JS 脚本应尽量放置在页面底部,这点很重要:<html><head><title>无标题文档</title><link rel="stylesheet" type="text/css&quo 阅读全文
Javascript 编码问题(encode&decode)
2011-08-18 10:44 by focusdada, 132 阅读, 收藏,
摘要:
encodeURIComponent方法将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。encodeURIComponent(encodedURIString)必选的encodedURIString参数代表一个已编码的 URI 组件。说明encodeURIComponent方法返回一个已编码的 URI。如果您将编码结果传递给decodeURIComponent,那么将返回初始的字符串。因为encodeURIComponent方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如/folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当 阅读全文
Javascript事件总结
2011-08-10 08:11 by focusdada, 165 阅读, 收藏,
摘要:
Javascript事件总结事件冒泡事件的不同阶段取消事件冒泡重载浏览器默认行为常见事件对象this事件对象事件绑定传统Dom绑定W3C标准绑定IE绑定牛人们的解决方案一、事件冒泡1.1 事件的不同阶段Javascript事件在2个阶段执行:捕获与冒泡。如下图的Dom结构中如果指向锚点#1.1的链接被点击,则依次会触发document > body > ul > li > ul > li > a 的Click处理函数。至此完成捕获阶段。当这阶段完成,开始冒泡阶段,如图中向上箭头的顺序。事件处理函数全部触发。有兴趣可以移步这里,可以看到动态的过程。我们对上述代 阅读全文
完美兼容IE、FF、Opera的Ajax类支持get、post、自定义回调函数
2011-04-06 10:24 by focusdada, 219 阅读, 收藏,
摘要:
function Ajax(){ this.httpXML=false; this.init(); } Ajax.prototype.init=function(){ if(window.XMLHttpRequest){ this.httpXML=new XMLHttpRequest(); if (this.httpXML.overrideMimeType){ this.httpXML.overrideMimeType("text/xml"); } }else if(window.ActiveXObject){ try{this.httpXML = new ActiveXO 阅读全文
ajax更新数据后,jquery、jq失效问题(事件丢失)
2011-03-17 14:06 by focusdada, 615 阅读, 收藏,
摘要:
刚开始遇到这个问题异常头疼,最后只能竟可能的更新标签内的Content,使得标签本身不受影响...-------------------------------------------------------------------------------------------给元素绑定click事件 ,但是遇到一个问题 就是 当我执行一些ajax请求后 这个click事件就失效了比如说 我的分页是一个ajax请求 但我点下一页时 后生成的元素a就没有了click事件了其实 原因很简单ajax加载内容是在$(document).ready()之后的操作,这个时候给绑定函数的时候,找到的元素集 阅读全文
javascript好文章收藏
2010-07-23 09:19 by focusdada, 137 阅读, 收藏,
摘要:
把一些感觉不错的文章,收藏下,此篇用windows live writer发布把应用程序从 Internet Explorer 迁移到 Mozilla Markup as a Craft(讲解写html标签的技术) (这里有中文) Understanding and Solving Internet Explorer Leak Patterns(很多实用的关于解决内存泄露问题的使用,开发者必看,大... 阅读全文
浙公网安备 33010602011771号