Js第三天
作者:互联网
方法
即函数成为了对象的属性
可以利用for(var a in obj){ console.log(n);//打印属性名 consolo.log(obj["n"]);//打印属性值 }来判断对象中的属性和方法
作用域 全局作用域 直接卸载script标签内的代码,都在全局作用域,在页面打开时运行,在页面关闭时销毁。 在全局作用域中,有一个全局对象window,代表浏览 的函数都会作为window的方法保存 函数作用域 调用函数时,创建函数作用域。函数调用结束,销毁函数作用域。并且函数作用域是相互独立的。 如果想在函数中使用全局变量,可以使用window. 在单独的函数作用域中也会出现函数的声明提前现象
变量声明提前 不论变量声明位置,变量的声明一定会在最初的位置(关键子) 函数的声明提前 以函数声明创建的函数,会在最开始被创建(即可以把函数的具体内容写在最下面) function fun(){
} 但使用函数表达式创建的不可提前执行
debug 在浏览器的控制台中,也可以 设置断点进行debug
this 解析器在调用函数每次都会向函数内部传递一个隐含的参数,隐含的参数即this,this指向一个对象 根据函数调用方式不同,this指向不同的对象 以函数形式调用this指向window 以方法形式调用this指向obj
通过工厂创造对象 注意,函数要有参数 构造函数是object的 function creatPerson(name){ var obj=new Object(); var.name=name; return obj; } var obj2=creatPerson("bsb");
构造函数 与creatPerson类似,但是并不是Object类 instanceof 可以检查一个对象是否是某一个类的实例 修改构造函数: 构造函数每被调用一次,就是把内部的方法创造一遍,可以改造构造函数,减少消耗 function fun(){
} function Person(){ this.sayName=fun; } 练习代码: <!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> <script> var obj = { name: "嘿嘿", age: 18, gender: "男", sayName: function () { alert(this.name); }, }; function createPerson(name, age, gender) { var obj = new Object(); obj.name = name; obj.age = age; obj.gender = gender; return obj; } var obj1 = createPerson("heihei", 18, "男"); console.log(obj1);
function Person() { alert("人类对象"); } var obj2 = new Person(); console.log(obj2); </script> </head> <body></body> </html>
可以利用for(var a in obj){ console.log(n);//打印属性名 consolo.log(obj["n"]);//打印属性值 }来判断对象中的属性和方法
作用域 全局作用域 直接卸载script标签内的代码,都在全局作用域,在页面打开时运行,在页面关闭时销毁。 在全局作用域中,有一个全局对象window,代表浏览 的函数都会作为window的方法保存 函数作用域 调用函数时,创建函数作用域。函数调用结束,销毁函数作用域。并且函数作用域是相互独立的。 如果想在函数中使用全局变量,可以使用window. 在单独的函数作用域中也会出现函数的声明提前现象
变量声明提前 不论变量声明位置,变量的声明一定会在最初的位置(关键子) 函数的声明提前 以函数声明创建的函数,会在最开始被创建(即可以把函数的具体内容写在最下面) function fun(){
} 但使用函数表达式创建的不可提前执行
debug 在浏览器的控制台中,也可以 设置断点进行debug
this 解析器在调用函数每次都会向函数内部传递一个隐含的参数,隐含的参数即this,this指向一个对象 根据函数调用方式不同,this指向不同的对象 以函数形式调用this指向window 以方法形式调用this指向obj
通过工厂创造对象 注意,函数要有参数 构造函数是object的 function creatPerson(name){ var obj=new Object(); var.name=name; return obj; } var obj2=creatPerson("bsb");
构造函数 与creatPerson类似,但是并不是Object类 instanceof 可以检查一个对象是否是某一个类的实例 修改构造函数: 构造函数每被调用一次,就是把内部的方法创造一遍,可以改造构造函数,减少消耗 function fun(){
} function Person(){ this.sayName=fun; } 练习代码: <!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> <script> var obj = { name: "嘿嘿", age: 18, gender: "男", sayName: function () { alert(this.name); }, }; function createPerson(name, age, gender) { var obj = new Object(); obj.name = name; obj.age = age; obj.gender = gender; return obj; } var obj1 = createPerson("heihei", 18, "男"); console.log(obj1);
function Person() { alert("人类对象"); } var obj2 = new Person(); console.log(obj2); </script> </head> <body></body> </html>
标签:function,obj,函数,作用域,第三天,Js,var,name 来源: https://www.cnblogs.com/jiubai/p/15968256.html