草庐IT

window-object

全部标签

javascript - Object.keys forEach 返回未定义

我有以下函数,它接收一个对象作为参数并使用它来操作该对象functionmanipulateData(obj){vardata=Object.keys(obj).forEach(function(index){//Performthemanipulationreturnobj;}returndata;}我在另一个回调函数中调用了上面的函数,如下converter.on('done',function(jsonArray){varnewObj=manipulateData(jsonArray);});在调试时我注意到从forEach返回的值是“未定义的”,我怎样才能让数据按预期返回?

javascript - 未在 Object.keys 或 Object.getOwnPropertyNames 下列出但可以调用的函数

假设有一些库javascript对象jsObj。在调用Object.keys或Object.getOwnPropertyNames时,我得到了一个属性列表,例如[a,b,c,d]但我仍然可以调用像jsObj.e()这样的函数。为什么方法e不是Object.keys或Object.getOwnPropertyNames的一部分?他们是怎么做到的?Here,它表示Object.getOwnPropertyNames也将返回不可枚举的属性。那么像上面的e这样的属性有什么特点呢。我正在使用opentok服务器端SDK。使用以下代码,varOpenTok=require('opentok');v

javascript - Window.matchmedia 监听器触发两次

我正在尝试编写一些javascript,它会在某些浏览器断点处更改JS配置对象中保存的一些值。我已将window.matchmedia测试存储在配置对象中,然后循环遍历该对象的键以向每个测试添加一个事件监听器,如下所示:Object.keys(config.mediaQueries).map((key)=>{config.mediaQueries[key].addListener(function(){console.log("breakpointchange");});});https://codepen.io/decodedcreative/pen/YQpNVO然而,当浏览器调整大

javascript - Object.assign 没有正确复制

我正在使用VueJS。我有一个接收对象作为参数的方法。然后我用Object.assign()克隆这个对象。Component.vueexportdefault{//...methods:{//...activateEditMode(item){this.editItemIndex=this.travelItinerary.indexOf(item)this.editItem=Object.assign({},item)//...}}}this.roteiroCompleto[0]处的原始对象:但是当我编辑克隆对象this.itemEditado时:原始对象this.roteiroCom

javascript - React 备忘录功能给出 :- Uncaught Error: Element type is invalid: expected a string but got: object

我有以下功能组件:-importReactfrom'react'import{Dropdown}from'semantic-ui-react'constDropDownMenu=(props)=>{constoptions=[{key:'fruits',text:'fruits',value:'Fruits'},{key:'vegetables',text:'vegetables',value:'Vegetables'},{key:'home-cooked',text:'home-cooked',value:'Home-Cooked'},{key:'green-waste',text:

javascript - 我可以在 'window' 以外的上下文中加载 javascript 文件吗?

我尝试加载一些外部.js文件,并且有一些无法解决的命名空间冲突。我想以某种方式在它们自己的上下文中加载一些文件,将“this”从指向窗口对象替换为某个自定义命名空间。例子:首先.js:name="first";second.js:name="second";在我看来,这种技巧非常有用。有可能吗?编辑似乎替换“this”并不能解决问题,因为它不是javascript中标识符解析的默认上下文。这是我的测试代码:varfirst={};varsecond={};(function(){name="first";}).call(first);(function(){name="second";

javascript/jquery 错误 "invalid object initializer"

我正在调用这样的函数:myfunc($tab,{'top-left','bottom-left'},defaults.tabRounded);函数定义为:functionmyfunc(obj,properties,value){但我收到错误“无效的对象初始值设定项”。这是因为json参数吗?还是别的? 最佳答案 替换myfunc($tab,{'top-left','bottom-left'},defaults.tabRounded);与myfunc($tab,['top-left','bottom-left'],defaults.t

javascript - 无法让 jstree 工作 - "Uncaught TypeError: Object #<Object> has no method ' 委托(delegate)'”

我正在尝试让jstree插件工作,遵循此页面上的“预定义HTML”示例:http://luban.danse.us/jazzclub/javascripts/jquery/jsTree/reference/_examples/1_datasources.html为了避免与可能发生的任何其他事情发生冲突,我试图让它在尽可能简单的页面中工作,在我的公共(public)保管箱文件夹中:http://dl.dropbox.com/u/846812/jstree_example/jstree_example.html我在我的页面中包含的唯一js是jquery和主jstree文件,jsTree/j

javascript - 用 window.find() 匹配所有出现的地方

例如,如果我有一个如下所示的HTML网页HelloTechies,Techieshere.如果我使用搜索“Techies”varsel=window.getSelection();sel.collapse(document.body,0);document.body.offsetHeight;if(window.find("Techies",true)){document.execCommand("hiliteColor",false,"YellowGreen");sel.collapseToEnd();}它仅突出显示“技术人员”的第一次出现。但是当我使用Ctrl+F搜索时,第一个出现

javascript - 我应该使用 self 还是 window 来引用全局范围?

作为一种风格约定,当我在全局范围内访问变量时,我喜欢明确window.example="Hello";window.alert(window.example);为了不那么冗长example="Hello";alert(example);我现在有一个模块可以直接从浏览器使用,或者,如果它们可用,从网络worker。在网络worker中,全局对象称为self,而在浏览器中,它称为window。window对象有一个self属性,所以self.example="Hello"可以在两种情况下工作,只要没有人重新声明self(他们经常这样做:varself=this)。最好的约定是什么?使用se