Object和Function是函数,函数都有一个prototype属性

Object 和 Function 都是 JavaScript 自带的函数对象

在 JavaScript 中,万物皆对象,你要一个吗?new Object() 啊!

当然,就好比同样为人,也区分普通人和天才。

对象也是有分类的,分为 普通对象函数对象

而 Object 和 Function 都是 JavaScript 自带的函数对象

复制代码
function fun1() {};

const fun2 = function() {};

const fun3 = new Function();



const obj1 = {};

const obj2 = new Object();

const obj3 = new fun1();



console.log(typeof Object); // function

console.log(typeof Function); // function



console.log(typeof fun1); // function

console.log(typeof fun2); // function

console.log(typeof fun3); // function   



console.log(typeof obj1); // object

console.log(typeof obj2); // object

console.log(typeof obj3); // object

在上面代码中,fun1、fun2、fun3 都是函数对象,obj1、obj2、obj3 都是普通对象。

原型对象

其中每个 函数对象 都有一个 prototype 属性,这个属性的指向被称为这个函数对象的 原型对象(简称原型)。

复制代码
function Person() {};

Person.prototype.name = 'jsliang';

Person.prototype.sayName = function() {

  console.log(this.name);

};



const person1 = new Person();

person1.sayName(); // jsliang



const person2 = new Person();

person2.sayName(); // jsliang



// 这两个实例对应的原型方法 sayName 都是一样的

console.log(person1.sayName === person2.sayName); // true

参考:jsliang 求职系列 - 02 - 原型与原型链 - 掘金

相关推荐
Dxy12393102166 小时前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
故事和你918 小时前
洛谷-数据结构1-1-线性表1
开发语言·数据结构·c++·算法·leetcode·动态规划·图论
小李子呢02118 小时前
前端八股Vue---Vue2和Vue3的区别,set up的用法
前端·javascript·vue.js
邂逅星河浪漫9 小时前
【银行内网开发-管理端】Vue管理端+Auth后台开发+Nginx配置+Linux部署(详细解析)
linux·javascript·css·vue.js·nginx·html·前后端联调
techdashen9 小时前
Rust项目公开征测:Cargo 构建目录新布局方案
开发语言·后端·rust
星空椰9 小时前
JavaScript 进阶基础:函数、作用域与常用技巧总结
开发语言·前端·javascript
奔跑的呱呱牛9 小时前
@giszhc/vue-page-motion:Vue3 路由动画怎么做才“丝滑”?(附在线示例)
前端·javascript·vue.js
忒可君9 小时前
C# winform 自制分页功能
android·开发语言·c#
Rust研习社9 小时前
Rust 智能指针 Cell 与 RefCell 的内部可变性
开发语言·后端·rust
leaves falling10 小时前
C++模板进阶
开发语言·c++