文章分类 - JavaScript/JScript
Articles about JavaScript/JScript----a very good script computer language
摘要:闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部自然无法读取函数内的局部变量。 function f1(){ var n=999...
阅读全文
摘要:JavaScript是一种基于对象的语言,只能使用系统提供的内置对象。如何才能用JavaScript写出象面向对象语言一样的代码呢?1、定义一个类(class & field)代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--//****...
阅读全文
摘要:jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。1、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例子就是$...
阅读全文
摘要:简介符合Web2.0特征的众多网站一个明显的特点就是采用Ajax。Ajax提供了在后台提交请求访问数据的功能。其实现主要使用的是XMLHttpRequest函数,这个函数允许客户端的Javascript发送到服务器端的HTTP请求并获得返回数据。Ajax同时也是目前众多的Mashup背后的驱动力量,他们都利用Ajax来聚合不同来源的信息。理解同源策略的限制同源策略是指阻止代码获得或者更改从另一个域...
阅读全文
摘要:一、基础知识 1、什么是 JSON:JavaScript Object Notation (JSON) 是一种轻量级、基于文本、语言无关的数据交换格式。它是从 ECMAScript 语言标准衍生而来的。JSON为轻便的表示结构化数据,定义了一小套格式化规则。以下是一个 JSON 对象的例子: { "Image": { "Width": 800, "Height": 600, "Title...
阅读全文
摘要:jQuery为开发插件提拱了两个方法,分别是:jQuery.fn.extend(object); jQuery.extend(object); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。jQuery.fn.extend(object);给jQuery对象添加方法。fn 是什么东西呢。查看jQuery代码,就不难发现。 jQuery.fn = jQue...
阅读全文
摘要:jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变javascript编码方式!那么它是如何实现它的声明的呢?这里,用以下的一段简短的使用流程:1)查找(创建)jQuery对象:$(”selector”);2)调用jQuery对象...
阅读全文
摘要:[转自javaeye]如果大家看jquery的sourcecode就知道一开始就有两对小括号, 是什么意思呢! 真的是比较困惑, 这么神奇的代码,什么意思啊? 我们先看看jQuery一开始是怎么写的: [代码]它是由什么组成呢? 有一个匿名函数(函数没有名字), 此匿名函数被一对小括号包裹着,这对小括号右边还有一对小括号. 我们再看常用一般函数定义方式. [代码]那么这两句话目的很明显就是要弹出一...
阅读全文
摘要:javascript闭包,听起来,感觉很陌生或迷惑,但是,实质上,我们再写javascript程序时,可能早已用到了.只是不了解它的概念而己. 其实,ECMScript中所谓的闭包,是指词法表示包括不必计算的变量的函数,也就是说,该函数能使用函数外定义的变量. 我们通常使用的全局变量就是一个简单的闭包实例.[代码]但是,在一个函数中定义另一个函数会使闭包变得更复杂,如:[代码]由此看到,闭包是E...
阅读全文
摘要:随着 Ajax 应用的流行,JavaScript 语言得到了越来越多的关注。开发人员对 JavaScript 的使用也日益深入。 JavaScript 已经不再只是用来为页面添加一些花哨的效果,它已经成为构建 Ajax 应用的重要基石。 JavaScript 作为一种专门设计用来在浏览器中执行的动态语言,它有许多重要的特性,并且不同于传统的 Java 或 C++ 语言。熟悉这些特性可以帮助开发者更...
阅读全文
摘要:一.错误分类1. 语法错误也称为解析错误,发生在传统编程语言的编译时,在JavaScript中发生在解释时,这些错误是由代码中的意外字符直接引起的,然后就不能直接编译/解释,eg,在一行代码因缺少右括号,产生了语法错误。发生语法错误时,就不能继续执行代码。在JavaScript中,只有在同一个线程中的代码会受语法错误的影响。在其他线程中的代码和其他外部引用的文件中的代码,如果不依赖于包含错误的代码...
阅读全文
摘要:如果在使用javascript的时候涉及到event处理,就需要知道event在不同的浏览器中的差异,因为javascript的事件模型有三种,它们分别是NN4、IE4+和W3C/Safari;这也造成了在不同的浏览器中处理event的差异,这里结合一些零碎的代码来说明如何做到event在IE4+和Firefox下的正常工作。首先看如下代码: function doEventThing(event...
阅读全文
摘要:什么是反射机制 反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。 在JavaScript中利用for(…in…)语句实现反射 在JavaScript中有一个很方便的语法来实现反射,即for(…in…)语句,其语法如下: Code highlighting produced by Actipro CodeHighlighter ...
阅读全文
摘要:meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的与中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的...
阅读全文
摘要:图片忽隐忽显把如下代码加入<body>区域中 <script language=javascript> // Flash Image Extension for Dreamwever ,by Yichun Yuan(dezone@sina.com) nereidFadeObjects = new Object(); nereidFadeTimers = new Objec...
阅读全文
摘要:在DHTML里面,取某个DOM的对象需要var myBtn=document.getElementbyID('myBtn') 可以得到, 不过看到微软的DHTML文档里面却是直接引用这个对象的ID: myBtn.Value ="xxxxx"; 不知道到底应该怎样才对。 今天写的一段脚本 ,一个发现HTMLTable Control 直接用id取属性没有问题的 但是一个Input的Text控件却不...
阅读全文
摘要:下面是主要代码: index.htm frame框架的显示隐藏操作 - 51windows.net 此网页使用了框架,但您的浏览器不支持框架。 main.htm main - 51windows.net
阅读全文
摘要:本文来源于(有能够提供最初翻译者的朋友吗?):http://developer.mozilla.org/en/docs/AJAX:Getting_Started 这篇文章将带您浏览整个AJAX的基本概貌,并展示两个简单的例子让您轻松上路. 什么是 AJAX? AJAX (异步 JavaScript 和 XML) 是个新产生的术语,专为描述JavaScript的两项强大性能.这两项性能在多年...
阅读全文
摘要:做Web开发的人员一定都会面临一个共同的难题,那就是打印。的确,相对于Windows桌面应用程序来讲,Web应用程序的打印有种种限制,技术人员在项目开发过程中经常会遇到用户这样或那样的需求. 做过桌面应用开发的人都会非常熟悉水晶报表、Active Report之类的报表控件,它们不仅有简单灵活的设计界面,更具有非常强大的报表功能,能满足各种报表的打印需求。而Web应用则因为其特殊的呈现方式,只能寻...
阅读全文
摘要:创建随机数 ①自JavaScript产生后,好多浏览器中都有内置的随机数发生方法。例如: 1var number = Math.random(); 2 该方法产生一个0到1之间的浮点数。 ②基于时间,亦可以产生随机数。例如: 1var now=new Date(); 2var number = now.getSeconds(); 这将产生一个基于目前时间的0到59的整...
阅读全文