• 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();
    }
  • 相关阅读:
    ACM/ICPC 之 中国剩余定理+容斥原理(HDU5768)
    ACM/ICPC 之 三维计算几何+暴力枚举+判重(HDU5839)
    ACM/ICPC 之 有流量上下界的网络流-Dinic(可做模板)(POJ2396)
    ACM/ICPC 之 Dinic+枚举最小割点集(可做模板)(POJ1815)
    ACM/ICPC 之 DP解有规律的最短路问题(POJ3377)
    ACM/ICPC 之 DFS+SPFA-贪心+最短路(POJ2679)
    ACM/ICPC 之 靠墙走-DFS+BFS(POJ3083)
    maven的setting.xml配置文件详解(中文)
    高性能、高可用的分布式架构体系(有启发的)
    各种数据库再spring中的配置(转载)
  • 原文地址:https://www.cnblogs.com/yuzhongwusan/p/2243067.html
Copyright © 2020-2023  润新知