原生 js 构造函数

本篇文章给大家分享的内容是关于原生 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

(0)
上一篇 2025年3月8日 14:01:27
下一篇 2025年3月8日 14:01:37

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • AngularJS中遍历数组

    本篇文章给大家分享的内容是关于AngularJS中遍历数组 ,有着一定的参考价值,有需要的朋友可以参考一下 AngularJS中当我们需要遍历某个数组的时候,我们会用到forEach语法。AngularJS中forEach的用法如下: an…

    编程技术 2025年3月8日
    200
  • angularJs自定义指令

    本篇文章介绍的内容是关于angularjs自定义指令,现在分享给大家,有需要的朋友可以参考一下 1. 定义 对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素 的功能。 2.定义指令的方法: 登录后复制登录后复…

    编程技术 2025年3月8日
    200
  • Vue打包优化之code spliting_vue.js

    这篇文章主要介绍了详解vue打包优化之code spliting,现在分享给大家,有需要的朋友参考一下 在http1的时代,比较常见的一种性能优化就是合并http的请求数量,通常我们会把许多js代码合并在一起,但是如果一个js包体积特别大的…

    2025年3月8日 编程技术
    200
  • vue.js中npm安装教程图解

    这篇文章主要介绍了vue.js中npm安装教程图解,现在分享给大家,需要的朋友可以参考下 首先理清nodejs和npm的关系: node.js是javascript的一种运行环境,是对Google V8引擎进行的封装。是一个服务器端的jav…

    2025年3月8日 编程技术
    200
  • React如何避免重渲染_javascript技巧

    这篇文章主要介绍了react如何避免重渲染,现在分享给大家,也可以给有需要的朋友做个参考 组件的重新渲染 我们可以在 React 组件中的 props 和 state 存放任何类型的数据,通过改变 props 和 state,去控制整个组件…

    2025年3月8日 编程技术
    200
  • Pastate.js 之响应式 react state 管理框架

    本篇文章给大家分享的内容是关于pastate.js 之响应式 react state 管理框架 ,有着一定的参考价值,有需要的朋友可以参考一下 Pastate 简介 Pastate 是什么 Pastate 是一个响应式 react stat…

    2025年3月8日 编程技术
    200
  • Pastate.js 响应式框架之多组件应用

    本篇文章给大家分享的内容是关于pastate.js 响应式框架之多组件应用  ,有着一定的参考价值,有需要的朋友可以参考一下 这是 pastate 系列教程的第二章,欢迎关注,持续更新。 这一章,我们在上一章的 state 结构中添加多一些…

    2025年3月8日 编程技术
    200
  • Pastate.js 响应式框架之数组渲染与操作

    本篇文章给大家分享的内容是关于pastate.js 响应式框架之数组渲染与操作  ,有着一定的参考价值,有需要的朋友可以参考一下 这是 Pastate.js 响应式 react state 管理框架系列教程的第三章,欢迎关注,持续更新。 这…

    2025年3月8日 编程技术
    200
  • Pastate.js 响应式 react 框架之表单渲染与操作

    本篇文章给大家分享的内容是关于pastate.js 响应式 react 框架之表单渲染与操作  ,有着一定的参考价值,有需要的朋友可以参考一下 这是 Pastate.js 响应式 react state 管理框架系列教程的第四章,欢迎关注,…

    2025年3月8日 编程技术
    200
  • Pastate.js 响应式 react 框架之 模块化

    本篇文章给大家分享的内容是关于pastate.js 响应式 react 框架之 模块化  ,有着一定的参考价值,有需要的朋友可以参考一下 这是 Pastate.js 响应式 react state 管理框架系列教程,欢迎关注,持续更新。 P…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论