(一)javascript表达式
表达式是什么?表达式是对变更进行赋值、更改或计算等操作的语句。它是变量、常量、操作符的综合。根据操作符的不类型,可以分为字符操作表达式、赋值表达式、逻辑表达式、关系表达式、自增自减表达式、位表达式等。
例如:
x+y
5>0
A++
Z=1+1
另外还有一种逗号表达式:x+y,z++
(二)小括号
最常见的小括号的用法有好多种,并且常用。
(1)函数的输入参数部分
例如:function fun1()
(2)语句的辅助
例如:while();if();for()
(3)类对象的构造方法
Var now=new Date()
(4)强制表达式运算
这个作用其实也在用,但没有前边3种用得明晰。
它意思就是指:把其中的内容作为表达式强制运算后得到结果。
例如:
{
var x = 0;
var y = 1;
alert(++x, ++y);
alert((++x, ++y));
}
(5)函数调用
一般情况下调用函数为函数名+参数,例如:doTest(1)
还有一种方式就是把函数名也用小括号包围起来,例如:(doTest)(1)
这也是两个小括号的意义。
(三)中括号
中括号主要用于数组
(1)可以声明空数组或赋值,例如:
var list1 = [];
var list2 = [1, 2, 3];
(2)通过下标访数组元素
alert(list2[1]);
其次就是用于kv对的对象,例如:
对于customer对象,有name属性,那么取对象的name值为:
Customer[‘name’]
(四)大括号
常用的就是语句块标识符。例如函数体,循环体等。另一种就是定义js类。
例如:var customer = {};
可见:http://www.cnblogs.com/jams742003/archive/2011/03/04/1970506.html
(五)Eval
它的作用就是把字符串做为表达式进行运算,并返回值。
详细可见:http://www.cnblogs.com/jams742003/archive/2009/12/29/1634736.html
(六)Void
计算表达式,但不返回值。
例如:
var x = 1;
void (x++);
alert(x);
alert(typeof (void (x++)));
alert(x);
详细请见:http://www.cnblogs.com/jams742003/archive/2010/01/13/1646631.html
(七) Jquery库定义的原理分析
(1)如何通过一个变量进行访问所有成员
所有的成员,例如函数,变量等通过一个固定的变量访问,可以通过静态实现。那么就要创建一个类,且,类中的成员要定义为静态。所以,先试着创建一个jQuery类,它的成员为静态。如下:
{
jQuery.showMessage();
}
function jQuery()
{ }
jQuery.showMessage = function()
{
alert('ok');
}
(2)jQuery类可以通过另一种方式实现
定义js类有好几种方式,其中一种叫字面量的实现方式:
jQuery.showMessage= function()
{
alert('ok');
}
(3)包装
为了避免命名冲突,现在把这个jQuery类包装起来。可以考虑再放到一个类中或者通过匿名函数进行包装(其实,本义是相同的)。在现在这种情况下,要通过后者方式进行,即以匿名函数进行包装。如下:
{
var jQuery = function() { };
jQuery.showMessage = function()
{
alert('ok');
}
}
(4)设置全局访问并添加$
如下:
{
var jQuery=window.jQuery=window.$= function() { };
jQuery.showMessage = function()
{
alert(1);
}
}
(5)让匿名函数运行
调用函数的方法可以通过函数名和输入参数。其中函数名也可以加小括号。那么:
function()
{
var jQuery = window.jQuery = window.$ = function() { };
jQuery.showMessage = function()
{
alert(1);
}
}
)();
(6)完成并调用
{
jQuery.showMessage();
$.showMessage();
}