新乡市做网站找哪个公司音乐视频怎么做mp3下载网站

张小明 2025/12/29 19:30:05
新乡市做网站找哪个公司,音乐视频怎么做mp3下载网站,网站seo优化的目的,有哪些做废品的网站一、构造函数#xff08;完整代码示例#xff09;构造函数就是一个普通函数#xff0c;创建方式和普通函数没有区别#xff0c;不同的是首字母习惯上大写。构造函数和普通函数的区别就是调用方式不同 普通函数直接调用fun()#xff0c;构造函数需要使用new关键字来调用完整代码示例构造函数就是一个普通函数创建方式和普通函数没有区别不同的是首字母习惯上大写。构造函数和普通函数的区别就是调用方式不同 普通函数直接调用fun()构造函数需要使用new关键字来调用var pernew Person();1. 构造函数与普通函数的区别调用方式// 1. 普通函数首字母小写直接调用 function sayHello() { console.log(普通函数调用); this.name 普通函数; // 非严格模式下this指向window } // 普通调用 sayHello(); // 输出普通函数调用 console.log(window.name); // 输出普通函数验证this指向 // 2. 构造函数首字母大写new调用 function Person(name, age) { // 执行流程 // 1. 隐式创建新对象2. this指向新对象3. 执行代码4. 返回新对象 this.name name; this.age age; this.sayHi function() { console.log(我是${this.name}今年${this.age}岁); }; } // 构造函数调用创建实例 const per1 new Person(张三, 20); const per2 new Person(李四, 22); console.log(per1); // 输出Person { name: 张三, age: 20, sayHi: [Function] } per1.sayHi(); // 输出我是张三今年20岁 per2.sayHi(); // 输出我是李四今年22岁 // 3. instanceof检查实例归属 console.log(per1 instanceof Person); // 输出trueper1是Person的实例 console.log(per1 instanceof Object); // 输出true所有对象都是Object的后代 console.log(per1 instanceof Array); // 输出false验证非Array实例构造函数的执行流程1、立刻创建一个新的对象2、将新建的对象设置为函数中的this在构造函数中可以使用this来引用新建的对象3、逐行执行构造函数中的代码4、将新创建的对象作为返回值返回使用同一个构造函数创建的对象属于同一类对象我们也将一个构造函数称为一个类。通过一个构造函数创建的对象称为该类的实例也称为该构造函数的实例。使用instanceof可以检查一个对象是否是一个类的实例所有对象都是Object的后代二、原型prototype完整代码示例我们所创建的每一个函数解析器都会向函数中添加一个属性prototype这个属性对应着一个对象叫原型对象每个函数都有都指向一个不同的原型对象。如果函数作为普通函数调用prototype没有任何作用如果函数以构造函数形式调用时它所创建的对象中都会有一个隐含的属性__proto__指向该构造函数的原型对象我们可以通过__proto__访问该属性。原型对象就相当于一个公共区域所有同一个类的实例都可以访问到这个原型对象。我们可以将对象中共有的内容统一设置到原型对象中。这样不用分别为每一个实例对象添加也不会影响到全局作用域就可以使每个对象中都有这些属性和方法。1. 原型对象的基本使用公共属性 / 方法// 构造函数 function Student(name, score) { this.name name; // 实例自身属性 this.score score; } // 原型对象添加公共方法所有实例共享 Student.prototype.sayScore function() { console.log(${this.name}的成绩是${this.score}分); }; // 原型对象添加公共属性 Student.prototype.school 第一中学; // 创建实例 const stu1 new Student(小明, 90); const stu2 new Student(小红, 85); // 访问实例自身属性 console.log(stu1.name); // 输出小明自身属性 // 访问原型对象的属性/方法 console.log(stu1.school); // 输出第一中学原型属性 stu2.sayScore(); // 输出小红的成绩是85分原型方法 // 验证所有实例共享原型方法内存复用 console.log(stu1.sayScore stu2.sayScore); // 输出true2. 属性查找规则自身 → 原型 → 原型的原型当我们访问对象的一个属性或方法时它会先在对象自身中寻找有直接使用如果没有会去原型对象中找如果找到则直接使用// 接上面的Student构造函数 // 1. 自身有属性优先使用自身 stu1.score 95; console.log(stu1.score); // 输出95自身覆盖原型 // 2. 自身无找原型原型无找原型的原型直到Object原型null console.log(stu1.toString()); // 输出[object Object]来自Object.prototype console.log(stu1.abc); // 输出undefined最终未找到3. in 与 hasOwnProperty 区别使用in检查对象中是否含有某个属性时如果对象中没有但是原型对象中有也会返回true使用对象的hasOwnProperty(name)检查对象自身中是否含有该属性只有对象自身中有时才会返回true。// 接上面的stu1实例 // 1. in自身或原型有则返回true console.log(name in stu1); // 输出true自身有 console.log(school in stu1); // 输出true原型有 console.log(toString in stu1); // 输出trueObject原型有 // 2. hasOwnProperty仅自身有则返回true console.log(stu1.hasOwnProperty(name)); // 输出true自身有 console.log(stu1.hasOwnProperty(school)); // 输出false原型有 console.log(stu1.hasOwnProperty(toString)); // 输出falseObject原型有4. 原型链示例多层原型查找// 自定义构造函数 function Animal(type) { this.type type; } // Animal原型添加方法 Animal.prototype.eat function() { console.log(${this.type}会吃东西); }; // Dog继承Animal简化版仅演示原型链 function Dog(name) { this.name name; } // 将Dog的原型指向Animal的实例形成原型链 Dog.prototype new Animal(狗); // 创建Dog实例 const dog1 new Dog(旺财); // 原型链查找 // dog1自身 → Dog.prototypeAnimal实例 → Animal.prototype → Object.prototype → null console.log(dog1.name); // 自身旺财 dog1.eat(); // Animal.prototype狗会吃东西 console.log(dog1.toString()); // Object.prototype[object Object] console.log(dog1.xxx); // 输出undefined最终未找到三、完整整合示例构造函数 原型 原型链原型对象也是对象所以它也有原型。当我们使用一个对象的属性或方法时会先在自身中寻找。自身中如果有直接使用如果没有则去原型对象中找如果原型对象中有则直接使用如果没有则去原型对象中的原型去找直到找到Object对象的原型。Object对象的原型没有原型对应的值为null如果还没有找到则返回undefined。// 1. 定义构造函数 function Car(brand, color) { // 实例自身属性 this.brand brand; this.color color; } // 2. 原型添加公共方法所有Car实例共享 Car.prototype.run function() { console.log(${this.color}的${this.brand}正在行驶); }; // 原型添加公共属性 Car.prototype.wheels 4; // 3. 创建实例 const car1 new Car(宝马, 白色); const car2 new Car(奔驰, 黑色); // 4. 访问属性/方法 console.log(car1.brand); // 自身白色 console.log(car1.wheels); // 原型4 car2.run(); // 原型方法黑色的奔驰正在行驶 // 5. 检查属性归属 console.log(wheels in car1); // true原型有 console.log(car1.hasOwnProperty(wheels)); // false自身无 console.log(car1.hasOwnProperty(brand)); // true自身有 // 6. 原型链验证 console.log(car1.__proto__ Car.prototype); // true实例的__proto__指向构造函数原型 console.log(Car.prototype.__proto__ Object.prototype); // true原型的原型指向Object原型 console.log(Object.prototype.__proto__); // nullObject原型无原型四、核心总结构造函数通过new调用自动创建 / 返回对象this指向实例原型prototype是构造函数的属性存储实例共享的属性 / 方法减少内存占用属性查找遵循「自身 → 原型 → 原型链」规则直到Object.prototype.__proto__nullin检查整个原型链hasOwnProperty仅检查实例自身。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

专业单位网站设计企业知名vi设计企业

如何在浏览器中轻松创建专业Word文档:DOCX.js实用指南 【免费下载链接】DOCX.js Generate Microsoft Word DOCX files in pure client-side JavaScript. Try in Chrome 项目地址: https://gitcode.com/gh_mirrors/do/DOCX.js 还在为生成Word文档而烦恼吗&…

张小明 2025/12/20 2:25:03 网站建设

企业网站制作备案网站注意事项

移动应用代码混淆终极实战指南:保护你的应用不被逆向分析 【免费下载链接】o-mvll :electron: O-MVLL is a LLVM-based obfuscator for native code (Android & iOS) 项目地址: https://gitcode.com/gh_mirrors/om/o-mvll 在移动应用开发的世界里&#x…

张小明 2025/12/20 2:23:02 网站建设

自学做网站要学什么此案例中采用了什么样的网络营销方式

《Microsoft Azure SQL Database 深度解析》 1. 公共网站 Web 应用部署与用户权限 在公共网站部署 Web 应用时,可通过使用具有读写权限的外部用户账户,避免公共匿名用户的只读限制。利用数据宏 dbLookupUserIDintblUser 可根据 tblUser 表中的值来验证电子邮件地址。用…

张小明 2025/12/26 0:17:33 网站建设

山西中交建设工程招标有限公司网站建设通官网登录入口

Chatbox革命性AI助手:构建个人智能工作流的高效方案 【免费下载链接】chatbox Chatbox是一款开源的AI桌面客户端,它提供简单易用的界面,助用户高效与AI交互。可以有效提升工作效率,同时确保数据安全。源项目地址:https…

张小明 2025/12/20 2:18:59 网站建设

贵阳网站建设贵阳网站建设哪家好wordpress和hugo

正文 感觉好像有些感冒了。下午才感觉出来。晚饭吃了之后紧急吃了一颗复方氨酚烷胺。也不知道管不管用。我只知道有感冒的迹象之后就要先摁死在摇篮里,不然后面问题就大了。 想把总行的人全沙了。 年底了,上这玩意儿新系统干嘛。火简直没有那么大。上就上…

张小明 2025/12/20 2:16:58 网站建设

建站空间哪个好建网站 就能开店

企业数字化进程加速,技术人才争夺白热化。IT人力外包模式凭借其灵活配置、快速响应与成本优化优势,已成为众多企业解决技术瓶颈、推进关键项目的战略选择。然而,面对市场上琳琅满目的服务商,如何穿透宣传、精准锚定最适合自身业务…

张小明 2025/12/20 2:14:57 网站建设