本篇文章给大家分享的内容是关于原生 js 构造函数 ,有着一定的参考价值,有需要的朋友可以参考一下
javascript 是一种基于对象的语言,它包含5中原生数据类型:
number(数值类型)
boolean(布尔值类型)
string(字符串类型)
null(空)
undefined(未定义)
除此之外,其他的都是对象,函数也是一个对象;
function fn(){ //这是一个函数声明,函数是一个特殊的对象}
登录后复制登录后复制
构造函数定义
构造函数是一个普通的函数,与其他函数没有任何区别,可以理解为 函数==构造函数,它只是概念上的一个定义,使用它用来实例化对象。
对于JavaScript的内置对象,Object、Array、Date等等这些都是构造函数。
function Fn(){}var f = new Fn() //实例化对象
登录后复制登录后复制
使用new运算符返回的对象并不一定是实例本身,也可以在构造函数用使用return改变返回值:
function Obj() { this.a = 1; return { a: 2 };}var o = new Obj(); // o并不是Obj的实例console.log(o.a); // 输出2
登录后复制登录后复制
前面说到了函数也是一个对象,在JavaScript的内置对象中,所有的函数对象都是Function构造函数的实例,比如:Object、Array等等,
使用 instanceof 这个运算符就可以校验
instanceof运算符返回一个指定的对象是否一个类的实例,格式如:A instanceof B。其中,左操作数必须是一个对象,右操作数必须是一个类(构造函数);
判断过程:如果函数B在对象A的原型链中被发现,那么instanceof操作符将返回true,否则返回false。
alert(Function instanceof Function); // Function函数对象 本身就是自己的一个实例alert(Object instanceof Function); // Object函数对象 是 Function构造函数的一个实例alert(arr instanceof Array);
登录后复制登录后复制
javascript 是一种基于对象的语言,它包含5中原生数据类型:
number(数值类型)
boolean(布尔值类型)
string(字符串类型)
null(空)
undefined(未定义)
除此之外,其他的都是对象,函数也是一个对象;
function fn(){ //这是一个函数声明,函数是一个特殊的对象}
登录后复制登录后复制
构造函数定义
构造函数是一个普通的函数,与其他函数没有任何区别,可以理解为 函数==构造函数,它只是概念上的一个定义,使用它用来实例化对象。
对于JavaScript的内置对象,Object、Array、Date等等这些都是构造函数。
function Fn(){}var f = new Fn() //实例化对象
登录后复制登录后复制
使用new运算符返回的对象并不一定是实例本身,也可以在构造函数用使用return改变返回值:
function Obj() { this.a = 1; return { a: 2 };}var o = new Obj(); // o并不是Obj的实例console.log(o.a); // 输出2
登录后复制登录后复制
前面说到了函数也是一个对象,在JavaScript的内置对象中,所有的函数对象都是Function构造函数的实例,比如:Object、Array等等,
使用 instanceof 这个运算符就可以校验
instanceof运算符返回一个指定的对象是否一个类的实例,格式如:A instanceof B。其中,左操作数必须是一个对象,右操作数必须是一个类(构造函数);
判断过程:如果函数B在对象A的原型链中被发现,那么instanceof操作符将返回true,否则返回false。
alert(Function instanceof Function); // Function函数对象 本身就是自己的一个实例alert(Object instanceof Function); // Object函数对象 是 Function构造函数的一个实例alert(arr instanceof Array);
登录后复制登录后复制
相关推荐:
js构造函数、索引数组和属性的实现方式和使用_javascript技巧
以上就是原生 js 构造函数 的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2774029.html