草庐IT

全局性

全部标签

JavaScript从json获取数据到全局变量

functiontest(){$.getJSON("notebook-json-data.php",function(data){varmyData=data;});}在我的函数中,我得到了json对象,但我想从其函数范围之外访问myData变量。我试过在函数外设置varmyData但没有成功..:(我不熟悉JSON,我需要任何解析吗?如何将这个变量设置为全局变量??请帮忙... 最佳答案 不要尝试将myData设置为全局变量-它不会起作用,因为getJSON是异步的。要么使用promise:functiontest(){retur

Javascript 正则表达式不返回全局结果

据我了解,下面所有这三行都应返回一个包含2个结果的数组。然而,无论正则表达式在字符串中重复多少次,RegExp都只会返回1个结果。有人能解释一下为什么吗?也许建议我如何让RegExp给我全局结果?//INTPUT:console.log(newRegExp("NewYork","gi").exec("NewYorkNewYork"));//OUTPUT:["NewYork"]//INTPUT:console.log(newRegExp(/NewYork/gi).exec("NewYorkNewYork"));//OUTPUT:["NewYork"]//INTPUT:console.lo

javascript - 如何在 javascript 全局命名空间中 stub /模拟函数

我正在尝试在测试期间stub/模拟/覆盖函数调用,该函数调用将日志写入数据库。functionlogit(msg){writeMessageToDb(msg);}functiontryingToTestThisFunction(){varerror=processSomething();if(error){logit(error);}}我想要logit()在测试期间简单地打印到控制台...并在isTesting()中执行“logit()”if/elseblock功能不是一个选项。这是否可能不包括一些额外的模拟框架。我目前正在使用JsTestDriver用于单元测试并且没有机会评估任何模

全局窗口中无法访问 Javascript ES6 类定义

我遇到了一个有趣的问题,至少我认为它很有趣,而且有点烦人。我有一个类,对于这个问题,我将使其非常简单......classFoo{staticpageChange(){console.log('Thepagechanged');}}现在,我可以使用Foo.pageChange()访问它,没问题,一切都按预期进行。当我尝试动态访问它时,困难的部分和有趣的部分出现了。我有一个单独的对象来监视事件并根据需要处理它们的调度。这与Google可视化库有关,我在其中有一个表,该表有与之相关的事件。我有一个对象负责从PHP输出创建所有这些。这是一个非常棒的系统,在一个简单的解释中,您可以在PHP中执

javascript - 定义全局变量 x 时让 Firebug 中断

我们有一个非常大的JavaScript应用程序,经过几个月的编码,不可避免地会出现一些范围错误,其中变量的定义没有按以下方式使用var关键字:function(){x=5;...}代替:function(){varx=5;...}这发生在某个地方-我们不确定在哪里-并且搜索相关变量名称很困难,因为它是一个在我们的源代码中出现1000次的常见词。有没有办法让Firebug在第一个创建给定全局变量的行上中断?澄清一下,我想在window.x从undefined切换到已定义值的那一刻中断语句,并中断语句。我已经尝试创建一个监视表达式并希望我可以将它变成一个断点,但我似乎无法在没有某种上下文或

javascript - 变量 : local scope, 全局范围还是 JavaScript 引擎?

这是我在学习JavaScript作用域时发现的一些有趣的东西。代码varfoo="Thisisaglobalvariable.";varbar=function(){alert(foo);foo="Valuehasbeenmodified";}bar();alert(foo);这给出了您认为会得到的正常响应,但如果我更改这一行:来自:foo="Valuehasbeenmodified";到:varfoo="Valuehasbeenmodified";我得到的foo值为undefined,这是为什么?既然函数是全局范围的,为什么它不接受前面的var关键字呢?编辑现在我基本上明白发生了什么

javascript - javascript 中的全局函数

我是js的新手,正在尝试了解全局和私有(private)函数。我了解全局和局部变量。但是如果我有一个名为test.html的html和一个名为test1.js的2个js文件和test2.js.现在我包括test1.js和test2.js在test.html并调用test2.js中编写的函数里面test1.js和test.html.我在test2.js中写的函数都是这种形式functionabc(){...}functionpqr(){...}etc.以上这些函数是全局的吗?如果是,我怎么能不让它们成为全局性的并且仍然可以在test1.js中访问它们呢?和test.html?正如我所读,

javascript - 使用 VueJs 2 的全局数据

我是VueJS的新手,对于如何使某些数据全局可用我一无所知。我想将从API端点、用户数据和其他一些从API检索到的数据保存在每个组件都可以获取这些数据的地方。我知道我可以只用普通的Javascript保存它,但我想有一种方法可以用VueJS来做到这一点。我也许能够使用事件总线系统来获取数据,但我不知道如何根据我的需要实现该系统。如果有人能帮助我,我将不胜感激。 最佳答案 制作一个全局数据对象constshared={api:"http://localhost/myApi",mySharedMethod(){//dosharedstu

javascript - "can' t 创建隐藏全局属性的重复变量”

在Safari10上出现此错误当const的名称与页面上任何元素的id完全相同时发生。constabc=document.querySelector("#abc");//errconstabz=document.querySelector("#abc");//noerrvarabc=document.querySelector("#abc");//noerr这有什么原因吗?我知道您可以通过window.abc访问元素,这是部分原因吗?测试:constalpha=document.querySelector('#alpha');console.log(alpha);

javascript - Vue.js 全局事件总线

我正在尝试创建一个全局事件总线,以便两个同级组件可以相互通信。我四处寻找;但是,我找不到任何有关如何实现的示例。这是我目前所拥有的:varbus=newVue();Vue.component('Increment',{template:"#inc",data:function(){return({count:0})},methods:{increment:function(){varincrement=this.count++bus.$emit('inc',increment)}}})Vue.component('Display',{template:"#display",data:f