草庐IT

函数组件

全部标签

Javascript 调用对象的链式构造函数

1)调用varobj={num:2};varadd=function(a){returnthis.num+a;};add.call(obj,1);//function.call(obj,arg)2)调用对象的链构造函数。varProduct=function(name,price){this.name=name;this.price=price;}varFood=function(name,price){Product.call(this,name,price);//我目前正在研究javascriptoop,我找到了一个关于Function.prototype.call()链构造函数的

javascript - 试图理解两个简短的 JavaScript 函数中的作用域

下面两个JavaScript函数有什么区别?我知道用var声明的变量在函数内部是局部的,如果用this`关键字声明,则会暴露给外部词。之间还有其他区别吗?functionstudent(param1,param2,param3){this.name=param1;this.age=param2;this.address=param3;}和functionstudent(param1,param2,param3){varname=param1;varage=param2;varaddress=param3;} 最佳答案 简短回答:您将

javascript - 通过 React.cloneElement 维护组件引用

我一直在测试使用React.cloneElement()扩展组件的children可能存在的限制/危险。我发现的一种可能的危险是可能会覆盖ref和key等Prop。但是,根据React的0.13releasecandidate(早在2015年):However,unlikeJSXandcloneWithProps,italsopreservesrefs.Thismeansthatifyougetachildwitharefonit,youwon'taccidentallystealitfromyourancestor.Youwillgetthesamerefattachedtoyour

javascript - React - 从另一个组件的 onClick 切换一个组件的显示

我正在尝试构建我的第一个React项目,目前正在将一个汉堡导航按钮和一个在单击导航时出现的菜单放在一起。我将其分为两个部分;汉堡和MenuOverlay。两者的代码如下。目前,我在Hamburger上有一个onClick可以在其上切换一个类,但是我如何通过该点击来切换菜单?它隐藏在display:none;默认情况下。可能是一个非常基本的问题,所以很抱歉-仍在努力让我了解React。菜单覆盖importReactfrom'react';import{Link}from'react-router';constMenuOverlay=()=>{return(HomeAboutContact

javascript - 如何优化接受正整数并返回下一个较小正整数的函数?

我正在尝试编写一个函数,它接受一个正整数并返回包含相同数字的下一个较小的正整数,如果没有包含相同数字的较小数字则返回-1。Forexample:nextSmaller(21)==12nextSmaller(531)==513nextSmaller(2071)==2017我写了一个解决这个问题的代码,但我真的不知道如何进一步优化它。请你帮助我好吗?它在repl.it上运行得相当快,但是当我提交它时,它说它需要超过1200毫秒并且不允许我提交它,即使所有测试都通过了。functionnextSmaller(n){varnArray=n.toString().split("")varmini

javascript - 添加函数作为 Array native 对象的方法(是否可以将函数作为方法调用?)

我觉得MDN文档或其他东西中可能遗漏了一些非常简单的东西,但我已经挖掘了一段时间,但我没有任何线索。有没有办法以类似于方法的方式调用函数?这基本上就是我想要做的:functionaddItem(itemName,quality,quantity/*,arr*/){arr.push([itemName,quality,quantity]);}varsomeArr=[['item',1,1]];someArr.addItem('someOtherItem',2,3);//someArr===[['item',1,1],['someOtherItem',2,3]]现在,请注意,我并不是要创建

javascript - 使用 chrome.tabs.executeScript 执行异步函数

我有一个功能,我想使用chrome.tabs.executeScript在页面中执行,从浏览器操作弹出窗口运行。权限设置正确,并且可以正常使用同步回调:chrome.tabs.executeScript(tab.id,{code:`(function(){//Dolotsofthingsreturntrue;})()`},r=>console.log(r[0]));//Logstrue问题是我要调用的函数要经过几个回调,所以我想使用async和await:chrome.tabs.executeScript(tab.id,{code:`(asyncfunction(){//Dolotso

javascript - 如何在嵌套数组上使用 includes() 函数?

我有一个这样的数组:vararr=[];arr=[['red',685],['green',210],['blue',65]];我还有两个变量:varcolor='blue';varnumber=21;我要做的就是检查arr的每个嵌套数组的第一项,然后更新它的第二项或为其创建一个新数组。这里是一些例子:输入:varcolor='blue';varnumber=21;预期输出:arr=[['red',685],['green',210],['blue',21]];输入:varcolor='yellow';varnumber=245;预期输出:arr=[['red',685],['gree

javascript - 使用渲染功能时 Vue 组件不显示子文本节点

我正在尝试用Vue2做一个可编辑的组件。它应该在任何标签中使用contenteditable属性,替换普通输入。我想给它一个占位符功能,以便在用户没有提供任何值时显示一个值,但我似乎无法让它工作。我正在观察组件的当前值,并在不存在用户内容时将data.isEmpty设置为true。该组件随后应显示占位符值,但目前它什么都不显示。如果我console.logrender方法的结果,它将显示占位符子节点已正确实例化,但由于某些原因它不会显示在最终的HTML上。这是一个JSFiddle:https://jsfiddle.net/dy27fa8t/对于那些喜欢它的人来说,还有一个嵌入的片段:V

javascript - Function() 构造函数是否没有像 eval 那样被 V8 优化?

我们正在尝试一种通过WebSockets接收网络组件的方法。这些组件包含自定义脚本,它们应该在组件内的上下文中运行。简而言之,我们有一些脚本字符串并想要运行它们。现在我们为此使用eval,像这样:functionctxEval(ctx,__script){eval(__script);//returnthingswiththectx}并按预期工作,但我读到任何包含eval的函数都没有被V8优化。我想像这样将它转换为newFunction():newFunction("ctx",__script)(ctx);这样我可以实现与上面的ctxEval函数相同的效果。我们知道Function是e