JS Basic_Constructor 修改
最编程
2024-07-17 18:50:57
...
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
/*
* 创建一个Person构造函数
* - 在Person构造函数中,为每一个对象都添加了一个sayName方法,
* 目前我们的方法是在构造函数内部创建的,
* 也就是构造函数每执行一次就会创建一个新的sayName方法
* 也是所有实例的sayName都是唯一的。
* 这样就导致了构造函数执行一次就会创建一个新的方法,
* 执行10000次就会创建10000个新的方法,而10000个方法都是一摸一样的
* 这是完全没有必要,完全可以使所有的对象共享同一个方法
*/
function Person(name , age , gender){
this.name = name;
this.age = age;
this.gender = gender;
//向对象中添加一个方法
this.sayName = fun;
}
//将sayName方法在全局作用域中定义
/*
* 将函数定义在全局作用域,污染了全局作用域的命名空间
* 而且定义在全局作用域中也很不安全
*/
function fun(){
alert("Hello大家好,我是:"+this.name);
};
//向原型中添加sayName方法
Person.prototype.sayName = function(){
alert("Hello大家好,我是:"+this.name);
};
//创建一个Person的实例
var per = new Person("孙悟空",18,"男");
var per2 = new Person("猪八戒",28,"男");
per.sayName();
per2.sayName();
console.log(per.sayName == per2.sayName);
</script>
</head>
<body>
</body>
</html>
推荐阅读
-
Vue.js 组件开发:从基础到高级功能
-
App:templatesNuxt.js 应用程序中生成的事件钩子详解
-
微信小程序/uniapp 动态修改 tabBar 信息和常见错误报告
-
银河麒麟 V10 系统 + Windows 10 双系统启动顺序正确修改方法
-
node.js 下载和安装以及环境配置超级详细教程 [Windows 版本]。
-
打包用 Node.js 编写的程序的简单说明
-
Web Hid Api 浏览器读取 IC 卡号 Js 源代码,无需插件支持
-
[python+Redis]哈希修改
-
详细介绍 Nuxt.js 应用程序中的应用程序:解析事件钩子
-
华为 OD 机测试 - RSA 加密算法(Python/JS/C/C++ 2024 E 卷 100 分) - V.Python 算法源代码