草庐IT

javascript - javascript中 "serialize"函数的正确方法是什么供以后使用

我有一个对象“库”,我想从数据库中动态加载这些对象。每个对象都有自己的特殊函数,这些函数会根据对象类型在特定时间调用。理想情况下,我希望能够做到这一点,尽管有人指出这不起作用:library={"myObj":{"name":"myObj","type":"myType","function":function(){}}//,etc}字符串"myObj"在我的程序中传递了很多次,但我一次只需要访问对象的某些值,在某些情况下,有一个特定的函数需要被运行。问题是我正在查看数百个,最终是数千个可能具有不同功能的潜在对象。存储这样调用的函数的“正确”方法是什么。我知道在执行期间调用eval可能

javascript - 从 for-in 循环获取属性名称背后的简单理论?

首先,我想说我在理论上很厉害。我不喜欢抽象。在尝试使用它们之前,我想知道它们是如何工作的。我一直在到处寻找获取for-in循环的属性名称(而不是值)背后的简单理论。我将在代码中演示它,希望有人可以解释它是如何工作的……varobj={one:1,two:2,three:3};//Abasicobjectinstantiatedwith3publicproperties.for(varpropinobj){console.log(prop);//logs"one","two"and"three"???}我认为它会将prop变量评估为1、2和3,但它会记录实际的属性名称。我知道obj[pr

javascript - 在 OOP Javascript 中使用方法的优点

我遇到了一个以奇怪的方式构建的JS文件:varmodal=(function(){varmethod={};//Centerthemodalintheviewportmethod.center=function(){};//Openthemodalmethod.open=function(settings){};//Closethemodalmethod.close=function(){};returnmethod;}());我理解将函数包装到“模态”对象中的部分,但为什么将所有函数绑定(bind)到method然后在最后返回它? 最佳答案

javascript - JS - 在函数中覆盖 'this'

我正在尝试扩展Array原型(prototype):Array.prototype.rotate=function(){vararr=[];for(vari=0;i完全花花公子,直到this=arr。爆炸了。如何重新分配原型(prototype)函数的this属性?我要他妈的处理之前的数组配置。编辑我为什么要这样做?我希望它表现得像其他数组函数。例如,这有效:myArray.pop();我不需要这样做:myArray=myArray.pop();另一个编辑我这样做是为了解决它,但它看起来很愚蠢:Array.prototype.rotate=function(){vararr=[];va

javascript - 为什么Array是instanceof Object?

我在javascript中使用instanceof时偶然发现了以下内容。ArrayinstanceofObjectreturnstrueObjectinstanceofArrayreturnsfalse这里Array和Object是什么关系? 最佳答案 在构造函数之间,关系或prototypechain是:Array->Function.prototype->Object.prototypeObject->Function.prototype->Object.prototype第一个是true因为构造函数是一个Function而函数

javascript - 在循环中运行时 undefined object ,但在顺序执行时未定义

我正在使用jQueryMaskedInputplugin使用定义为属性掩码值的数据掩码属性设置所有输入元素:给定这个html:还有这个脚本:$("input[data-mask]").each(function(){varmaskValue=$(this).data('mask');console.log($(this).attr('id')+":"+maskValue);//undefinederrorhereonseconditeration"b:999"//noissuesifyouremovethedata-maskfromoneoftheinputelementsreturn

JavaScript - instanceof 没有按照我的预期进行

如果我错了,请原谅我,但我认为这样做:functionMyObject(){return{key:'value',hello:function(){console.log('world');}};}varobj=newMyObject();我创建了一个MyObject类型的新实例。但是,如果我这样做:objinstanceofMyObject它返回false。这让我感到困惑,因为我认为这会返回true。我在这里做错了什么?这是一个fiddle测试这个。我以为我掌握了JavaScript的基础知识,但也许不是。但是,我找到了sources这与我的发现相矛盾。

javascript - 在 Object.create 中使用属性描述符的正确方法是什么?

我在Object.create方法中将一个对象作为第二个参数传递,但出现以下错误:UncaughtTypeError:Propertydescriptionmustbeanobject:1这是错误的代码:vartest=Object.create(null,{ex1:1,ex2:2,meth:function(){return10;},meth1:function(){returnthis.meth();}}); 最佳答案 Object.create(proto,props)有两个参数:proto—theobjectwhichsho

javascript - ES 2017 : async function vs AsyncFunction(object) vs async function expression

我刚刚阅读了有关asyncfunctions的内容,并发现了ES2017的一些类似功能。它造成了很多困惑,我只想问:asyncfunction、AsyncFunction(用于创建异步函数)和异步函数表达式(我认为这只是另一个异步函数)?什么时候应该使用一种格式而不是另一种格式?我们将不胜感激对每个怪癖和表现的强调! 最佳答案 在Javascript中有四种创建函数的方法。在Javascript中也有四种创建异步函数的方法,它们是彼此精确的镜像。为了演示这是如何工作的,我使用了一个简单的sleep函数,全局声明:functionsl

javascript - 错误信息。 "Props with type Object/Array must use a factory function to return the default value."

我正在使用Vue-Cli3.0。我将此模块用于Vue.js。https://github.com/holiber/sl-vue-tree这是一个可自定义的可拖拽的Vue.js树组件,但我发现它无法复制对象的功能。https://github.com/holiber/sl-vue-tree/blob/master/src/sl-vue-tree.js#L715因为这里。JSON.parse(JSON.stringify(entity))所以我使用了这个模块并编辑了复制功能。https://www.npmjs.com/package/clonevarclone=require('clone