javascript 表达式、括号、常用函数和jquery库怎么样实现的分析

(一)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种用得明晰。

它意思就是指:把其中的内容作为表达式强制运算后得到结果。

例如:

function test()
{
    
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类,它的成员为静态。如下:

function doClick()
{
    jQuery.showMessage();


function jQuery()
{ }

jQuery.showMessage 
= function()
{
    alert(
'ok');

 

(2)jQuery类可以通过另一种方式实现

定义js类有好几种方式,其中一种叫字面量的实现方式:

var jQuery = function() { };

jQuery.showMessage
= function()
{
    alert(
'ok');
}

 

(3)包装

为了避免命名冲突,现在把这个jQuery类包装起来。可以考虑再放到一个类中或者通过匿名函数进行包装(其实,本义是相同的)。在现在这种情况下,要通过后者方式进行,即以匿名函数进行包装。如下:

function()
{
    var jQuery 
= function() { };
    jQuery.showMessage 
= function()
    {
        alert(
'ok');
    }
}

(4)设置全局访问并添加$

如下:

function()
{
    
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)完成并调用

function doClick()
{
    jQuery.showMessage();
    $.showMessage();
}

 

 

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

上一篇:linux磁盘阵列RAID


下一篇:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt5/bin/qmake' since it links to qmake itself. Check your installation.