首页 > 编程 > JavaScript > 正文

JavaScript 对象和面向对象概述(自定义对象)

2019-11-06 06:34:00
字体:
来源:转载
供稿:网友
1. JS中的对象(Object)创建空白对象:
var  obj = new Object();对象里面的变量叫属性,对象外面的变量叫变量对象里面的函数叫方法,对象外面的函数叫函数但前提是要给对象绑定属性和方法2. 构造函数(就是为了创建对象实例)① 可以创建对象实例的函数,为新对象进行初始化(设置对象的属性)。② 区别于普通函数,首字母大写。3. 创建自定义对象创建单个自定义对象:
//创建单个自定义对象var stu = new Object();//为该对象绑定属性stu.name = "杨哈哈";stu.age = 18;stu.gender = "男";//为该对象绑定方法stu.study = function () {    console.log("我正在学习!");}创建多个自定义对象:函数是可以重复执行的代码块,把创建对象的方法封装到函数中,然后把变化的值设计成参数
function createStu(name,age){    //每次调用函数,创建一个新的对象    var stu = new Object();    stu.name = name;    stu.age = age;    stu.study = function () {        //this代表函数的调用者        console.log(this.name + ":我正在学习");    }    return stu;}构造函数法创建自定义对象:
function Stu(name,age){   this.name = name;   this.age = age;   this.study = function () {        console.log(this.name + ":我正在学习");   }}var aaa = new Stu("carrie",18);console.log(typeof aaa);//Object类型,而非Stu类型,因为js是基于对象的语言,而非面向对象的语言,所有新对象实际上在底层都是Object类型console.log(aaa);console.log(aaa.name);console.log(aaa.age);aaa.study();This① this只出现在函数中。(arguments也只出现于函数中)② 谁调用函数,this就指的是谁。③ new People();   People中的this代指被创建的对象实例。new① 开辟内存空间,存储新创建的对象( new Object() )② 把this设置为当前对象③ 执行内部代码,设置对象属性和方法④ 返回新创建的对象4. 对象字面量
var obj = {aaa: 1, bbb: 2, ccc: 3, ddd: 4};5. json
var json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}- Json由{ }和key:value以及逗号三部分组成(只有一个键值对key:value时,可以没有逗号)。- 对象字面量定义方法和json很像,只有一点不同,json的key要求必须加“”- json的取值有两种方式,json.属性名,或 json["属性名"]- json中每个属性的属性值如果是数字,就是number类型,如果是字符串,就是string类型- 如果调用一个函数后,可以使用.属性的方法获取一个值,那么他的返回值,一定是一个json6. for...in...
var json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}for(var key in json){    console.log(key);//key代表对象的所有属性    console.log(json[key]);//json[key]代表对象的所有属性值}注意:如果一个对象的属性都是数值而且有length属性,遍历的时候使用 for 循环和 for in 的方式都可以;如果一个对象的属性都是单词不是数值,在遍历时只能通过 for in 的方式。7. 参数和传值问题① 简单类型数据做参数,函数内部对参数的修改不影响外部变量。简单类型传数值。② 复杂类型数据做参数,函数内部对参数的修改会影响外部变量。复杂类型传地址
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表