资讯专栏INFORMATION COLUMN

javascript语言精粹-笔记

番茄西红柿 / 1784人阅读

摘要:第六章判断是不是数组写一个第七章正则表达式匹配的正则匹配数字的

walkDOM

function walkTheDOM(node, func) {
    func(node); 
    node = node.firstChild; 
    while (node) { 
        walkTheDOM(node, func); 
        node = node.nextSibling; 
    } 
} 

getElementsByClassName

function getElementsByClassName(className) { 
    var results = []; 
    walkTheDOM(document.body, function (node) { 
        var a, c = node.className, i; 
        if (c) { 
            a = c.split( ); 
            for (i = 0; i < a.length; i += 1) { 
                if (a[i] === className) { 
                    results.push(node); 
                    break; 
                } 
            } 
        } 
    }); 
    return results; 
} 

第六章

6.5 判断是不是数组

var is array = function (value) {
    return value &&
    typeof value.splice === function &&
    typeof value.length=== number &&
    typeof value === object &&
    ! (value.propertyIsEnumerable (length));
};

写一个Reduce

Array. method (reduce, function(f,value) {
var i;
for (i=0;i<this.length; i +=1) {
  value = f(this [i], value);
}
return value;
})

第七章 正则表达式

7.1 匹配url的正则

var parse_url =/^ (?: ([A-Za-z]+) :)? (/{0,3}) ( [0-9.-A-Za-z]+)(?:: (d+))? (?:/([^?#]*))?(?:? ([^#]*))? (?:#(.*))?$/;

var url ="http://www.ora.com: 80/goodparts?q#fragment";

匹配数字的reg

var parse_number =/^-?d+(?:.d*)? (?:e [+-]?dt)?S/i;

var test= function (num) {
document.writeln(parse number.test (num) );

};

true test ("1");
false test (number);
true  test(98.6");
false  test (132.21.86.100);
true  test (123.45E-67);
false  test (123.45D-67);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/1073.html

相关文章

  • javascript语言精粹》学习笔记 - 数组方法实现

    摘要:在中数组是经常被使用到的,我们除了要学习数组的方法,还需要了解诶一下某一些方法是如何来实现的。然而我看了语言精粹中方法的一章,想记录下书上的代码,以便加深印象。方法移除数组中的第一个元素并且放回该元素。 在js中数组是经常被使用到的,我们除了要学习数组的方法,还需要了解诶一下某一些方法是如何来实现的。然而我看了《javascript语言精粹》中方法的一章,想记录下书上的代码,以便加深印...

    felix0913 评论0 收藏0
  • JavaScript 语言精粹》读书笔记 - 函数

    摘要:语言精粹读书笔记第四章函数函数字面量函数字面量包含个部分第一部分,保留字第二部分,函数名,它可以被忽略。这个超级延迟绑定使得函数对高度复用。构造器调用模式一个函数,如果创建的目的就是希望结合的前缀来调用,那它就被称为构造器构造。 《JavaScript 语言精粹》 读书笔记 第四章 函数 Functions 函数字面量 函数字面量包含4个部分: 第一部分, 保留字 function...

    wdzgege 评论0 收藏0
  • JavaScript 语言精粹》 读书笔记 - 函数(二)

    摘要:对象被传递到从句中被捕获。一些语言提供了尾递归优化。这意味着如果一个函数返回自身递归调用的结果,那么调用的过程会被替换为一个循环,可以显著提高速度。构建一个带尾递归的函数。语言精粹读书笔记函数 第四章 函数 Functions (二) 参数 arguments arguments数组: 函数可以通过此参数访问所有它被调用时传递给它的参数列表,包括哪些没有被分配给函数声明时定义的形式参数...

    lufficc 评论0 收藏0
  • javascript语言精粹》学习笔记 - 递归函数

    摘要:递归函数就是会直接或者间接地调用自身的一种函数。一般来说,一个递归函数调用自身去解决它的子问题。书上第二个例子是说递归函数可以非常高效率的操作树形结构,比如。有一些语言提供了尾递归的优化。好运的是,给我们带来了尾递归,详细迎接使用尾递归。 递归函数就是会直接或者间接地调用自身的一种函数。递归是一种强大的编程技术,它把一问题分解为一组相似的子问题,每一个都用一个寻常解去解决。一般来...

    Ryan_Li 评论0 收藏0
  • 读书笔记-1【javascript语言精粹】继承

    摘要:使用构造器有个严重的危害,如果在调用构造器函数的时候忘记使用前缀,不仅不会绑定到新对象,还会污染全局变量原型模式原型模式中,我们采用对象来继承。 构造器调用模式 当一个函数对象被创建时,Function构造器会运行类似这样的代码: this.prototype = {constructor: this} new一个函数事会发生: Function.method(new, functio...

    malakashi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<