object- js中先有Function还是先有Object?

问题描述

js中先有Function还是先有Object?

我们知道js中函数是Function类型的实例,而Object是一个构造函数,故也是Function类型的实例。又因为js中所有对象都是继承Object类型,Function是一个构造函数,当然也就是个对象,所以也继承Object。那这样,就有个问题,Function的产生需要Object,而Object产生又需要Function,那到底是先有哪个,js中具体是怎么实现的?有大神知道吗?这个问题貌似有点像,鸡和蛋的问题。

解决方案

从构成的角度看 obj是砖瓦 fun是房子

时间: 2024-08-01 17:15:49

object- js中先有Function还是先有Object?的相关文章

js中的函数function

    js的function对象在调用过程中具有一个arguments的属性,它是由脚本解释器创建的(这也是arguments创建的唯一方式).arguments属性可以看作是一个Array对象,它有length属性,可以通过序号访问每一个参数,而且通过argument的callee属性可以获取对正在执行的Function对象的引用.如下: function factorial(n){ if(n<=n){ return 1; }else{ return n*arguments.callee(n

浅析JS中对函数function的理解(基础篇)_javascript技巧

正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定义方式(见下文)之外,还有一种定义的方式能更直观的体现出这个概念: var sum = new Function("num1", "num2", "return num1 + num2"); //不推荐 Function的构造函数可以接收任意数量的参

JavaScript知识点总结(十一)之js中的Object类详解_javascript技巧

JavaScript中的Object对象,是JS中所有对象的基类,也就是说JS中的所有对象都是由Object对象衍生的.Object对象主要用于将任意数据封装成对象形式. 一.Object类介绍 Object类是所有JavaScript类的基类(父类),提供了一种创建自定义对象的简单方式,不再需要程序员定义构造函数. 二.Object类主要属性 1.constructor:对象的构造函数. 2.prototype:获得类的prototype对象,static性质. 三.Object类主要方法 1

js中string和object的互相转换实例

例  代码如下 复制代码 // string to object // eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. var str="var data='我是string还是object?'"; eval(str); console.log(data); // object to string var obj=function(){ console.log("我是object还是string?");  } console.log

js中tostring()问题

问题描述 js中tostring()问题 var obj =Object.create({ x:1}) ; alert(typeof obj.toString); 返回的为什么是"function"? 解决方案 toString 方法是所有内建的 JScript 对象的成员.它的操作依赖于对象的类型: 对象 操作 Array 将 Array 的元素转换为字符串.结果字符串由逗号分隔,且连接起来. Boolean 如果 Boolean 值是 true,则返回 "true&quo

判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解_基础知识

1.typeof(param) 返回param的类型(string) 这种方法是JS中的定义的全局方法,也是编译者们最常用的方法,优点就是使用简单.好记,缺点是不能很好的判断object.null.array.regexp和自定义对象. 示例代码: 复制代码 代码如下: var str='str';var arr=['1','2'];var num=1;var bool=true;var obj={name:'test'};var nullObj=null;var undefinedObj=un

js中函数function $(id)与jquery发生$冲突的解决方法总结

$(id)是js document.getElementById(id)的简写,定义了这个方法以后调用的时候就可以直接用类似于jquery中那样的$("img-icon").onclick简单封装.所以很多人喜欢这样写: var $ = function(id){ return document.getElementById(id); }; 但是这一类js代码会和与JQuery对象获取函数冲突会与JQuery冲突的,导致JQuery获取不了对象,出现类似于:Uncaught TypeE

js中关于new Object时传参的一些细节分析_javascript技巧

1, 参数是一个对象,核心js对象(native ECMAScript object)或宿主对象(host object),那么将直接返回该对象. 其生成的对象构造器仍然是所传参数对象的构造器.这样造成的后果是虽然该对象是new Object,但其constructor不一定是Object. 复制代码 代码如下: function Person(){this.name='jack';} var w = new Object(window), d = new Object(document), p

Js中把JSON字符串转换为JSON对象(eval()、new Function())

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析.  第一种解析方式:使用eval函数来解析,并且使用jQuery的each方法来遍历 用jQuery解析JSON数据的方法,作为jQuery异步请求的传输对象,jQuery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明. 这里首