在这里学习JS,我在下面的代码上运行JSLint:
/*jslint devel: true*/
function Animal(n) {
"use strict";
this.name = n;
this.prop = "a";
}
var a = new Animal("duppa");
for (v in a) {
if (a.hasOwnProperty(v)) {
console.log("property:" + v);
}
}
我得到:
jslint:te
在JavaScript中,var声明创建全局对象的属性:
var x = 15;
console.log(window.x); // logs 15 in browser
console.log(global.x); // logs 15 in Node.js
ES6引入了具有块范围的声明的词法作用域。
let x = 15;
{
let x = 14;
}
console.log(x); // logs 15;
但是,这些声明是否为全局对象创建属性?
let x = 15;
// what is this supposed to log in the browser according
这是我的演示代码:
<body onload="initialize()">
<script>
function initialize(){
var d='adddd'
$.getScript('other.js', function() {
a()
});
}
</script>
</body>
这是演示other.js:
function a(){
alert(d)
}
然后,您将发现一个错误:
d is not defined
所以你必须
你好,我是新的JavaScript单元测试,我正在使用Mocha.js和Chai.js
我想要做的只是简单地弄清楚如何检查单独的js文件中全局变量的值。这是我的密码
下面是main.js文件(要测试的代码),它只有我想要测试的变量。
//main.js
var foo = 9;
这是我的测试文件
var assert = require("assert")
var expect = require('chai').expect
var fs = require("fs")
var vm = require("vm")
funct
我正在实现这一点。
//to_s.js
(function(){
String.prototype.to_s = function(){
var str = this.toString();
var convert = function(s){
return eval(s);
};
while(/#{(\w+)}/.test(str)){
// bad because I use eval...
var matchStr =RegExp.$1;
我被我的js中的一些东西弄糊涂了。通常,我定义如下函数:
function f(){
// do stuff
}
但我也可以这样定义函数:
f = function(){
// do stuff
}
我一直以为他们之间没有区别,但现在我发现这是可行的:
f = function(){
alert('IT WORKS!!');
}
function createCallback(request){
request.done(function(data){
var html = '';
data[
我希望能够在一个新的函数中使用'validBet‘。validBet基本上是数组'betButtonsArr‘的最后一个值。所以最后点击的按钮是下注,而不是以前的任何一个。现在,我需要能够使用validBet来确定投注位置,在一个新的函数中计算损失/中奖。
问题是,我得到的validBet是一个未定义的错误。
我只使用VanillaJS,因为我想在进入库之前先学习JS。
// starter cash will be 100.
var cashTotal = 100; //Cash currently holding.
var showTotal = d
我有一个函数,定义了很多变量和非常大的数组;这使得函数非常大,很难使用。如何在另一个文件中定义变量/数组并在此函数中使用它们?
示例:
DoStuff.js:
function genList(){
var listData = [
//lots of inner arrays and data
]
var dataItem = "value";//50 of these
//do stuff with the data
}
我想做的是:
ExternalData.js:
var listData = [
//lots of i
当运行命令行"node index.js“时,index.js是作为在其中声明的变量的”模块作用域“作为模块来处理,还是是全局的?
例如(在index.js中):
a = 1; // is "a" global?
var b = 1; // is "b" global?
我知道与"require“一起引入的后续模块将在模块中使用"var”声明所有变量声明,但我不确定最初调用的js文件(通常命名为index.js),因为它没有引入"require“(除非节点这样做)。
我有一个简单的HTML文件,其中包括一些简单的javascript文件。没有框架,没有模块。在其他JS文件中有一个主JS文件和一个助手函数。
当我打开这个静态站点时,一切都正常。一个文件中的JS代码能够调用另一个文件中定义的函数。
当我尝试使用parcel,将它指向index.html文件时,parcel会找到我的所有JS文件,并在开头添加一些东西,在文件名中添加一个散列,并修改我的HTML文件中的链接。一切都很好。
但是,当我在浏览器中打开这个页面时,我在一个JS文件中定义的代码无法看到定义在其他JS文件上的函数,因此抛出了ReferenceError: <func> is no
我使用$.getScript()调用外部文件。在调用变量值时可以传递它吗?
示例:
var passVal = "ch967";
$.getScript(ext.js); //how can I use `passVal` within ext.js
ext.js
if(passVal=="ch967"){
var a = "Relax Chairs"
} else {
var a = "Table Chairs"
}
(在评论后创建一个单独的问题:)
我正在使用方括号表示法创建一个全局范围的变量,并在外部js文件中为它分配一个值。
在另一个js文件中,我声明一个var,其名称与我刚才创建的变量相同。注意,我没有赋值。因为这是同一个变量的重声明,所以旧值不应该像下面所描述的那样被覆盖:
创建具有以下内容的2个javascript文件: Script1
//create global variable with square bracket notation
window['y'] = 'old';
Script2
//redeclaration of the same vari
由于我现在已经开始学习js,所以我对javascipt很陌生,我对var非常困惑,据说它是函数作用域和块作用域;
如果是,那么我们如何在该功能之外访问它们!?假设我想从另一个类中使用它(我不知道可能通过创建某个对象或其他什么方法)(我想我们不能在这里创建对象!)因为它是一种基于函数式编程的语言,所以我猜!:()
var y = "global";
if (y === "global") {
var y = "block-scoped";
console.log(y); // expected output: block-scoped
}
在“上级”告诉我我必须在我的所有Javascript代码中包含严格模式之前,Jquery的一个片段工作得很好。除了这段代码之外,我的main.js文件上的一切都很好。我无法重新记录错误,但是每次激活脚本时,控制台错误都会触发,它是一个Boostra4toggler按钮,它确实打开了一个菜单,但是菜单从上到下都会打开,而且非常滞后。这个按钮有可能从右向左折叠。
$(function(){
// mobile menu slide from the left
$('[data-toggle="collapse"]').on('click
如何通过$getScript()将一个变量传递给这里调用的js-文件( bfile.js )。
var x = new Array();
$.getScript('bfile.js', x);
我通常会调用它,因为我看到在新的javascript文件中所有变量都是可见的,但是对于变量x,我得到了一个未定义的ReferenceError: X。请帮帮我!
HTML:
<script type="text/javascript">
var x = "overriden";
</script>
<script src="myjs.js"></script>
myjs.js:
$(document).ready(function(){
var x = x || "default val";
alert(x); // this alerts "default val" and not "overriden&