美文网首页
廖雪峰 JavaScript教程 笔记2

廖雪峰 JavaScript教程 笔记2

作者: Marks | 来源:发表于2017-04-11 23:34 被阅读110次

1、闭包

function lazy_sum(arr){
            var sum=function (){
                return arr.reduce(function(x,y){
                    return x + y;
                });
            }
            return sum;
        }
        var arr=[1,2,3,4,5];

        console.log(lazy_sum(arr)());```
⑵计数器

function create_counter(initial){
var x=initial || 0;
return {
inc:function(){
x += 1;
return x;
}
}
}
var c1=create_counter();
console.log(c1.inc());
console.log(c1.inc());
console.log(c1.inc());

    var c2=create_counter(100);
    console.log(c2.inc());
    console.log(c2.inc());
    console.log(c2.inc());```

⑶x的n次方

function make_pow(n){
            return function(x){
                return Math.pow(x,n);
            }
        }
        var pow2=make_pow(2);
        var pow3=make_pow(3);

        console.log(pow2(5));//25
        console.log(pow3(7));//343```


2、[JSON](http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499490767fe5a0e31e17e44b69dcd1196f7ec6fc6000)
⑴对象序列化成JSON格式的字符串 - JSON.stringify()
①要输出得好看一些,可以加上参数,按缩进输出:
`JSON.stringify(xiaoming, null, '  ');`
第二个参数用于控制如何筛选对象的键值,如果我们只想输出指定的属性,可以传入Array:
②还可以传入一个函数,这样对象的每个键值对都会被函数先处理
③如果我们还想要精确控制如何序列化小明,可以给xiaoming定义一个toJSON()的方法,直接返回JSON应该序列化的数据
⑵拿到一个JSON格式的字符串,我们直接用JSON.parse()把它变成一个JavaScript对象:
JSON.parse()还可以接收一个函数,用来转换解析出的属性

3、插入DOM

对于一个已有的HTML结构:
Scheme
JavaScript
Python
Ruby
Haskell


<ol id="test-list">
<li class="lang">Scheme</li>
<li class="lang">JavaScript</li>
<li class="lang">Python</li>
<li class="lang">Ruby</li>
<li class="lang">Haskell</li>
</ol>```
按字符串顺序重新排序DOM节点:

var list = document.getElementById('test-list');
        var arr = Array.from(list.children);
        arr.sort((x,y) => {return x.innerText>y.innerText?true:false;});
        arr.forEach(function(x){
            list.appendChild(x);
        });```

4、删除DOM
练习
JavaScript
HTML
CSS


<ul id="test-list">
<li>JavaScript</li>
<li>Swift</li>
<li>HTML</li>
<li>ANSI C</li>
<li>CSS</li>
<li>DirectX</li>
</ul>```
把与Web开发技术不相关的节点删掉:

var list = document.getElementById('test-list');
for(var x = 1; x < list.children.length; x++){
list.removeChild(list.children[x]);
}```

































相关文章

  • README

    本文集为JavaScript学习笔记,内容来源于廖雪峰JavaScript教程

  • (四)JavaScript 面向对象编程

    本文是大神廖雪峰的JavaScript教程学习笔记。并不是教程,如有需要,请前往廖雪峰大神大博客. JavaScr...

  • (三)JavaScript 标准对象

    本文是大神廖雪峰的JavaScript教程学习笔记。并不是教程,如有需要,请前往廖雪峰大神大博客. 在JavaSc...

  • (二)JavaScript 函数

    本文是大神廖雪峰的JavaScript教程学习笔记。并不是教程,如有需要,请前往廖雪峰大神大博客. 一、函数定义和...

  • (一)JavaScript 入门

    本文是大神廖雪峰的JavaScript教程学习笔记。并不是教程,如有需要,请前往廖雪峰大神大博客. 一、数据类型和...

  • 廖雪峰 JavaScript教程 笔记2

    1、闭包⑴ function create_counter(initial){var x=initial || 0...

  • Web 开发全指南(不断完善中)

    web开发概览 Javascript Javascript系统学习教程 廖雪峰,js入门教程javascript ...

  • Git

    资料整理 廖雪峰 JavaScript Python Git 教程 git官方文档 笔记 摘自上面的资料# Git...

  • JavaScript | 变量作用域与解构赋值

    Reference : JavaScript教程 - 廖雪峰的官方网站 原文:变量作用域与解构赋值 - 廖雪峰的官...

  • 2018-01-25 Git学习笔记

    学习廖雪峰的Git教程所记的笔记,Git教程 - 廖雪峰的官方网站https://www.liaoxuefeng....

网友评论

      本文标题:廖雪峰 JavaScript教程 笔记2

      本文链接:https://www.haomeiwen.com/subject/sabyattx.html