zoukankan      html  css  js  c++  java
  • 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();
    }

     

     

     

  • 相关阅读:
    leetcode 347. Top K Frequent Elements
    581. Shortest Unsorted Continuous Subarray
    leetcode 3. Longest Substring Without Repeating Characters
    leetcode 217. Contains Duplicate、219. Contains Duplicate II、220. Contains Duplicate、287. Find the Duplicate Number 、442. Find All Duplicates in an Array 、448. Find All Numbers Disappeared in an Array
    leetcode 461. Hamming Distance
    leetcode 19. Remove Nth Node From End of List
    leetcode 100. Same Tree、101. Symmetric Tree
    leetcode 171. Excel Sheet Column Number
    leetcode 242. Valid Anagram
    leetcode 326. Power of Three
  • 原文地址:https://www.cnblogs.com/jams742003/p/1981411.html
Copyright © 2011-2022 走看看