草庐IT

javascript - 为什么此代码有效 : "(1,eval)(' this')"

为什么下一个代码是有效的Javascript代码?varglobal=(1,eval)('this');alert(global); 最佳答案 那是因为commaoperator返回它的第二个操作数(并计算两者)。您问题中的代码相当于:1;varglobal=eval('this');alert(global); 关于javascript-为什么此代码有效:"(1,eval)('this')",我们在StackOverflow上找到一个类似的问题: https

javascript - Javascript 中的变量范围(提升)

我的一个friend正在做一个在线测验,他问了我这个问题,我无法回答。varglobal=false;functiontest(){global=true;returnfalse;functionglobal(){}}console.log(global);//saysfalse(Asexpected)test();console.log(global);//saysfalse(Unexpected:shouldbetrue)如果我们假设函数与var变量一起被提升到顶部,让我们试试这个。varfoo=1;functionbar(){returnfoo;foo=10;functionfo

javascript - JS 恢复默认/全局函数

这是一个假设性的问题,它确实没有实际用途,但是......假设您要执行以下操作:document.open=null;如何将document.open恢复到其原始功能,这可能吗(没有用户创建的临时存储)?document.open是否以鲜为人知的名称存储在另一个位置?谢谢!:) 最佳答案 覆盖document.open直接在document对象上创建一个名为open的变量/函数。但是,原始函数不在对象本身上,而是在其原型(prototype)上-因此您确实可以恢复它。open函数来自HTMLDocument.prototype,因此

javascript - 为什么 'event' 在 Chrome 中全局可用但在 Firefox 中不可用?

在回答另一个问题时,出现了一个奇怪的错误,该错误与event对象在匿名函数中可用而不被传入有关。在Chrome中,下面的工作正常,但Firefox抛出一个错误。$(document).ready(function(){$("#uspsSideboxTrackingClose").click(function(){event.preventDefault();console.log(event);});});Chrome:火狐:ReferenceError:eventisnotdefined众所周知$("#uspsSideboxTrackingClose").click(function

javascript - JS : React and global namespace pollution

我正在考虑在一个新网站中使用React,但我仍然想知道如何使用React组件处理全局命名空间。例如,如果我像这样定义几个React组件:varMySlider=React.createClass({//snip});varMyAlert=React.createClass({//snip});varMyDropdown=React.createClass({//snip});渲染一个组件看起来像这样:React.renderComponent(,document.getElementById('content'));但是,我更愿意为我的组件命名空间以避免污染全局命名空间。varName

javascript "use strict"和尼克的查找全局函数

所以我看到了一个函数,坦率地说,它的简单性非常漂亮,因为它允许您在匿名函数中找到全局对象(这取决于当时的环境,可能不是window);但是,当您抛出javascripts的“使用严格”时;由于对关键字“this”的评估发生变化,模式崩溃了。有几种方法可以做到这一点?(function(){varwin=function(){return(function(){returnthis;}());};//winnowpointstotheglobalobjectnomatterwhereitiscalled.}());现在,如果在“usestrict”的上下文中调用这些,我们将失去所描述的功

javascript - 使用 JavaScript 的 replace() 方法对变量进行全局切换

在我无法弄清楚它如何单独工作之后,我无法举出任何例子。我想要做的就是获取一个已分配给一个值的字符串,并将其用作所有匹配项的替换匹配字符串。varreplacement='i';vartext='tieiam';text=text.replace(replacement,'');//'teiam'text=text.replace(/tieiam/g,'');//'team'如何一起使用它们? 最佳答案 你想要的是使用RegExp对象:text=text.replace(newRegExp(replacement,'g'),'');S

javascript 初始化为 undefined 或 null 或 ""

在我开始学习时,Java脚本有很多错误的值。我有一个从服务获取值并加载到数组中的程序,如下所示:functionloadNames(){Global.names=//whatshouldIusehere?undefined,null,"",0,{}oranythingelsevarlnames=getLNames();//thisisdoingsomemagicif(lnames.length!==0){Global.names=newArray();for(vari=0;i我想知道重置Global.names的正确方法。这里最合适的是什么?在代码中我只想检查if(Global.nam

javascript - 替换 typescript 中字符串中的所有字符实例?

我正在尝试用x字符替换电子邮件中的所有句号-例如“my.email@email.com”将变为“myxemail@emailxcom”。电子邮件设置为字符串。我的问题是它不只是替换句号,而是替换每个字符,所以我只得到一串x。我只需一个句号就可以让它工作,所以我假设我在全局实例部分是错误的。这是我的代码:letre=".";letnew=email.replace(/re/gi,"x");我也试过re=/./gi;new=email.replace(re,"x");如果有人能阐明我真的很感激,我已经坚持了很长时间,似乎无法弄清楚我哪里出错了。**编辑:糟糕,我的新变量实际上叫做newem

javascript - vuejs 配置 : using a global variable?

这看起来很蠢,但我是这样设置的:在config/index.js中:module.exports={API_LOCATION:'http://localhost:8080/api/'}然后在src/app.js我有:importVuefrom'vue'importVueRouterfrom'vue-router'importVueResourcefrom'vue-resource';Vue.use(VueRouter);Vue.use(VueResource);constApp=require("./app.vue");consthome=require("./components/h