|
@@ -0,0 +1,86 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en">
|
|
|
+
|
|
|
+<head>
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
+ <title>Document</title>
|
|
|
+</head>
|
|
|
+
|
|
|
+<body>
|
|
|
+ <script>
|
|
|
+ // var a = 1
|
|
|
+ // var obj = {
|
|
|
+ // a: 3,
|
|
|
+ // fun: function () {
|
|
|
+ // return () => { console.log(this.a) }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // obj.fun()()
|
|
|
+
|
|
|
+ // 3 3 3
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // var a = 1
|
|
|
+ // var obj = {
|
|
|
+ // a: 3,
|
|
|
+ // fun: () => {
|
|
|
+ // return function () {
|
|
|
+ // console.log(this.a)
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // obj.fun()()
|
|
|
+ //3 3 3 3 1
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ var name = 'window'
|
|
|
+ function Person(name) {
|
|
|
+ this.name = name
|
|
|
+ this.foo1 = function () {
|
|
|
+ console.log(this.name);
|
|
|
+ }
|
|
|
+ this.foo2 = () => {
|
|
|
+ console.log(this.name)
|
|
|
+ }
|
|
|
+ this.foo3 = function () {
|
|
|
+ return function () {
|
|
|
+ console.log(this.name);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.foo4 = function () {
|
|
|
+ return () => {
|
|
|
+ console.log(this.name);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var person1 = new Person('person1')
|
|
|
+ var person2 = new Person('person2')
|
|
|
+ person1.foo1() //p1
|
|
|
+ person1.foo1.call(person2) //p2
|
|
|
+ person1.foo2() // p1
|
|
|
+ person1.foo2.call(person2)//p1
|
|
|
+ person1.foo3()() //window
|
|
|
+ person1.foo3.call(person2)() // window
|
|
|
+ person1.foo3().call(person2) //p2
|
|
|
+ person1.foo4()() // p1
|
|
|
+ person1.foo4.call(person2)() // p2
|
|
|
+ person1.foo4().call(person2) //p1
|
|
|
+ //p1 p2 p1 p1 win win p2 p1 p2 p1
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+
|
|
|
+</html>
|