【备忘】javascript原型、Function、eval、闭包、json处理、类、arguments不定

 1    function foo() {
 2     }
 3 
 4     // foo.prototype.sayHello = function (a) {
 5     //     console.log(a)
 6     // }
 7     foo.prototype = {
 8         func: function () {
 9             console.log("func")
10         },
11         sayHello: function (a) {
12             console.log(a)
13         }
14     };
15 
16     var p = new foo();
17     p.sayHello("sayHello");
18     p.func();
19 
20 
21     var o = {
22         go: function () {
23             console.log("sayHello")
24         }
25     };
26     var o1 = Object.create(o);
27     o1.go();
28 
29     var list = Object.create([]);
30     list.push("A");
31     list.push("B", "C", "D", "E", "F", "G")
32     for (let i = 0; i < list.length; i++) {
33         console.log("" + i + "" + ": " + list[i])
34     }
 1     function foo() {
 2         console.log("foo")
 3     }
 4 
 5     // 等价于
 6     var func = Function("console.log("foo")");
 7     func()
 8 
 9     var func = Function(foo());
10     func()
11 
12     function cmp(a, b, c) {
13         return Math.max(a, b, c)
14     }
15 
16     var max = new Function('a', 'b', 'c', 'return cmp(a, b, c)')
17     console.log(max(11, 22, 33));
1     var a = eval("var num = 10;")
2     console.log(num);
3 
4     var o = eval("({name:'kaka',age:19})")
5     console.log(o.name)
 1     function foo() {
 2         var num = Math.random();
 3 
 4         function func() {
 5             return num;
 6         }
 7 
 8         return func;
 9 
10     }
11 
12     var f = foo();
13     var res1 = f();
14     var res2 = f();
15 
16     console.log(res1);
17     console.log(res2);
18 
19 
20 
21     function goo() {
22         var o = {name: "kaka"};
23         return function () {
24             return o;
25         }
26     }
27 
28     var g = goo();
29     var ret = g();
30     console.log(ret.name);
31     // 函数科里化(高阶函数)
32     console.log(goo()());
33 
34     
35 
36     function hoo() {
37         var num = Math.random();
38         return {
39             get_num: function () {
40                 return num;
41             },
42             set_num: function (value) {
43                 num = value;
44             }
45         }
46     }
47 
48     var t = hoo();
49     var num = t.get_num();
50     console.log(num);
51 
52     t.set_num(1);
53     num = t.get_num();
54     console.log(num);
 1     var str1 = '{ "name": "kaka", "sex": "man" }';
 2 
 3     var obj = JSON.parse(str1); //由JSON字符串转换为JSON对象
 4     console.log(obj);
 5     console.log(typeof (obj));
 6 
 7     var obj2 = eval('(' + str1 + ')'); //由JSON字符串转换为JSON对象
 8     console.log(obj2);
 9     console.log(typeof (obj2));
10 
11     var last = JSON.stringify(obj); //将JSON对象转化为JSON字符
12     console.log(last);
13     console.log(typeof (last));
 1 class Demo {
 2     constructor(a, b) {
 3         this.a = a;
 4         this.b = b;
 5         return this;
 6     }
 7 
 8     print() {
 9         console.log(this.a + ' ' + this.b);
10     }
11 };
12 const demo = new Demo('hello', 'world').print();
13 console.log(typeof demo);
 1 class Point {
 2     string(){
 3         return 'aaa'
 4     }
 5 }
 6 class ColorPoint extends Point {
 7     constructor(color) {
 8         super(); // 调用父类的constructor()
 9         this.color = color;
10     }
11 
12     toString() {
13         return (this.string() )
14     }
15 }
16 console.log(new ColorPoint('#000'));    //console.log(new ColorPoint(1,2,'#000'))
17 console.log(new ColorPoint('#000').toString());     //aaa
18 
19 console.log(new ColorPoint('#000').__proto__);      //Point {constructor: function, toString: function}
20 console.log(ColorPoint.__proto__);      // class Point{...}
21 console.log(ColorPoint.prototype);      // Point {constructor: function, toString: function}
22 console.log(ColorPoint.__proto__.prototype);      // Object {constructor: function, string: function}
 1 function printThe() {
 2     for (let i = 0; i < arguments.length; i++) {
 3       return arguments
 4     }
 5   }
 6 
 7   console.log(printThe(1, 2, 3, 4, 5, 6));
 8 
 9   const arr = [1, 2, 3, 4, 5, 6];
10 
11   function printTheTwo() {
12     arr.forEach((item, index) => {
13       console.log(item)
14     })
15   }
16 
17   printTheTwo();
18 
19   const obj = [{id: 1, name: "a"},
20     {id: 2, name: "b"},
21     {id: 3, name: "c"},
22     {id: 4, name: "d"}];
23 
24   function printTheThree() {
25     obj.forEach((item, index) => {
26       console.log(item)
27     })
28   }
29 
30   printTheThree()
原文地址:https://www.cnblogs.com/ronle/p/10567769.html