脚本语法篇
文章平均质量分 93
yangdengfeng2003
这个作者很懒,什么都没留下…
展开
-
JavaScript语言中的Literal Syntax特性
我刚开始学习JavaScript的时候,老是会被JavaScript里的一些莫名其妙的语法形式搞的糊里糊涂的。而且也不知道到底它支持了多少那些莫名其妙的语法形式?现在通过这个几个月的深入了解,算是把它们弄得比较清楚了,所以下面就来说说JS的Literal Syntax特性。 JavaScript语言的文本化的特性?My God,难道有哪门语言的编写不是使用文本吗?不使用文本还能用啥?用原创 2007-01-20 16:19:00 · 773 阅读 · 0 评论 -
JavaScript语句可以不以;结尾的烦恼
JavaScript做为一个灵活的脚本语言,其成功是我们显而易见的。不过对于JavaScript语句可以不以";"结尾这点,我对其一直都耿耿于怀!这个特性除了带来语句的混乱,且使其依赖于代码排版(换行)外,我没有发现任何的优点。难道是为了可以少敲一个";"?! 如果习惯了C#、C/C++等的强制";",会更加的觉得郁闷。 同时这个特性对于JavaScript的debug来说,是灾难性原创 2007-01-20 16:49:00 · 689 阅读 · 0 评论 -
function, new function, new Function
函数是JavaScript中很重要的一个语言元素,并且提供了一个function关键字和内置对象Function,下面是其可能的用法和它们之间的关系。 使用方法一: var foo01 = function() //or fun01 = function() { var temp = 100; this.temp = 200; return temp + th原创 2007-01-20 16:35:00 · 499 阅读 · 0 评论 -
原来JScript中的关键字'var'还是有文章的
都不记得是什么时候看的JScript的语法教程了,里面说在声明变量时忽略var关键字是完全合法的。当时也因为觉得JavaScript是loosely-typed的语言,所以var可能真的就是个摆设。但是事实常常又证明想当然的结果是不可靠的。 看看下面这几个例子的结果就知道问题了: No.1 script language="javascript">var var原创 2007-01-20 16:18:00 · 479 阅读 · 0 评论 -
从JavaScript函数重名看其初始化方式
今天有个哥们问我要是JavaScript函数重名了会有什么后果?开始我没有细想,就说可能会出错吧,可是等我实验完了发现页面没有任何脚本错误提示,而且程序也运行了,只是对同名函数的调用执行了位置靠后的一个。 回头仔细一想,这个结果完全可以接受,因为脚本在页面里本身就是顺序执行下来的,包括函数的定义,但然如果只是定义 function foo(){} 这种形式,我们是跟踪不到函数初始原创 2007-01-20 16:02:00 · 754 阅读 · 0 评论 -
获取JavaScript用户自定义类的类名称
我们知道,虽然JavaScript是基于对象(object-based)的语言。但是使用其原形(prototype)特性,我们完全可以实现十分sexy的OO编成框架,这个可以看看经典论坛的文章基本上实现 javascript 的 OOP (0423版)。 不过虽然我们实现了类这种概念,可是JavaScript的脚本系统却仍然是不认账的。我们并没有办法使用脚本系统中的typeof方法获原创 2007-01-20 17:12:00 · 664 阅读 · 0 评论 -
使用 this 指针和 prototype 实现 js 的 OO 时的一个区别
利用 this 实现的公共方法中可以访问类的私有成员(用 var 声明的变量),私有方法(用 function 直接定义的方法); 利用原型扩展实现的方法中,无法调用私有成员和变量。 例子如下所示(把其中注释掉的两行恢复就可以看到区别): function T(name) { this.Name = name; var x = 5; function pr原创 2007-01-20 17:07:00 · 544 阅读 · 0 评论 -
JavaScript中this关键字使用方法详解
在面向对象编程语言中,对于this关键字我们是非常熟悉的。比如C++、C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了,用起来是非常方便和意义确定的。JavaScript也提供了这个this关键字,不过用起来就比经典OO语言中要"混乱"的多了。 下面就来看看,在JavaScript中各种this的使用方法有什么混乱之处? 1、在HTML元素事件属原创 2007-01-20 17:02:00 · 674 阅读 · 0 评论 -
JScript中的undefined和"undefined"
JScript中用于表示未定义的undefined标识符到底是表示什么未定义?它和"undefined"(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用undefined来和变量做比较,而有的时候又不行呢? underfined和"undefined"的区别大家一眼就能看出来。在一般的认知下,我们认为undefined是JScript提供的一个"关键字",而"undefin原创 2007-01-20 16:39:00 · 454 阅读 · 0 评论 -
区分JS中的undefined,null,"",0和false
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等。在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolea原创 2007-01-20 16:30:00 · 502 阅读 · 0 评论 -
在JScript中运算符"||"和"&&"的特殊特性
在JScript的众多运算符里,提供了三个逻辑运算符&&、||和!,噢?! 是高级语言都提供的。按我们对逻辑运算的正常认识,逻辑运算的结果因该是ture或者false。但是JScript的逻辑运算却不完全是这么定义的,这里只有!运算符总是返回true|false,而||和&&运算比较的好玩。 JScript对于逻辑运算的true|false是这么定义的: 所有对象都被认为是 t原创 2007-01-20 16:08:00 · 501 阅读 · 0 评论 -
在JavaScript中使用inline函数的问题
前段时间被IE和JavaScript脚本引擎的Memory Leak问题弄得郁闷坏了,不过幸好现在总算是柳暗花明了,并且找到了一些IE中使用脚本避免ML问题的方法。继续研究JavaScript的编写,有发现一些不算ML问题,但是可以节约IE内存使用的方法,在此和大家讨论讨论。 我们在JavaScript中编写代码,对于定义函数的语句:function foo(){ //原创 2007-01-20 17:19:00 · 931 阅读 · 0 评论 -
JS类定义原型方法的两种实现的区别
我们知道,给JavaScript类添加原形(prototype)方法是很简单的。而且常用的有下面这两种方法,可是这两种方法在使用时有区别吗? JScript Class: function JSClass() { } Extends prototype method: JSClass.prototype.MethodA = function() { };原创 2007-01-20 16:41:00 · 996 阅读 · 0 评论 -
JScript中的"this"关键字使用方式补充
在"JavaScript中this关键字使用方法详解"一文中,我曾例举了在JavaScript和JScript中的8种this关键字的方式。这不又发现还有两种this关键字的使用方式当时没有说到,现补充说明一下。并且通过第一种this关键字使用的说明,能让我们更好的理解JavaScript作为Object-Based语言的本质。 一种是和JavaScript类中的定义有关,我们知道当我们原创 2007-01-20 17:03:00 · 476 阅读 · 0 评论