相关疑难解决方法(0)

可以将所有JS/jQuery变量放在文件顶部吗?全局变量?

我喜欢用我的代码做极简主义,所以可以在文件的最顶层声明很多变量.我明白这会让他们全球化吗?

全局是否意味着该特定文件中的任何代码都可以使用这些变量?或者它是否意味着如果我使用的插件具有"单独的"js文件,该文件也可以使用我的全局变量,并可能导致错误?

那么在没有var的情况下编写这样的变量会有安全威胁

ab = $('#div32');
bc = 1000;
Run Code Online (Sandbox Code Playgroud)

另外,我可以仅使用变量吗?

zy = $(window);
yy = $(document);
Run Code Online (Sandbox Code Playgroud)

另外,在你的变量之后放置逗号(除了最后一个)然后在每个变量之后加上分号之间的区别是什么?它对任何事都有影响吗?

variables var file

4
推荐指数
1
解决办法
942
查看次数

仅使用一次数组元素

我是JavaScript新手,我想从我的数组中获取三个随机元素,这些元素需要不同.我已经设法得到三个不同的元素,然后我尝试通过split方法只获取一个元素.但显然这不起作用,可能有很多错误,因为这是我的第一个脚本之一.它有时也说"未定义".

http://jsfiddle.net/t4mtpm50/

HTML:

<span id="tot1"></span>, <span id="tot2"> und </span> und <span id="tot3"></span>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

function getNumber() {
    random = Math.floor(Math.random() * students.length);
    students.splice(random,1);
    return random;
}

students = new Array("Paul", "Jan", "Fabian D.", "Fabian K.", "Lennard", 
                            "Robin", "Angelique", "Joyce", "Sarah", "Ajlin",
                            "Enes", "Leon", "Boran", "Joshua")    

getNumber();
tot1 = students[random];
getNumber();
tot2 = students[random];
getNumber();
tot3 = students[random];

document.getElementById('tot1').innerHTML = tot1;
document.getElementById('tot2').innerHTML = tot2;
document.getElementById('tot3').innerHTML = tot3;
Run Code Online (Sandbox Code Playgroud)

html javascript arrays random jquery

4
推荐指数
2
解决办法
1558
查看次数

在声明变量时使用var和not有什么区别?

var a = 123;
b = 456;
console.log(window.a, window.b); // 123, 456
delete window.a; // true
delete window.b; // false
console.log(window.a, window.b); // 123, undefined
Run Code Online (Sandbox Code Playgroud)

如果不使用var,为什么不能删除全局变量?

javascript

4
推荐指数
1
解决办法
122
查看次数

在变量声明中使用var有什么好处?

可能重复:
使用var和不使用JavaScript中的var之间的区别

对于代码,我发现不需要使用var声明变量.以下都是有效的

// with var
var object = new Object();

// without var
object = new Object();
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?

javascript

3
推荐指数
1
解决办法
831
查看次数

对象#<Object>的属性'$'不是_.extend._ensureElement的函数

我试图通过创建一个View来输出骨干模型的一些dafault值,但节点显示错误"对象#的属性'$'不是_.extend._ensureElement的函数".我可以直接显示模型中的默认值,就像我在下面的代码中所做的那样但不是通过使用视图.为了显示一个例子,我已经注释掉了// myView = new firstView(); 所以你可以看到输出但很快我删除了我得到错误的评论.请让我知道缺少什么,我做错了什么.已经尝试在$(function(){})中包装代码,但没有运气.

     express = require('express');
     $ = require('jQuery');
     _ = require('underscore');
     Backbone = require('Backbone');
     app = express();

     app.use(express.static(__dirname + ''));
     app.use(express.bodyParser());
     app.listen(process.env.PORT || 3000);

     Person = Backbone.Model.extend({
        defaults: {
            'name': 'Joe Blog',
            'job': 'Web Developer'
        }
     });

     firstPerson = new Person();
     firstView = Backbone.View.extend({

        initialize: function() {
            this.render();
        },
        render: function() {
            console.log(firstPerson.get('job'));
            return this;

        }
     })

     //myView = new firstView();
     console.log(firstPerson.get('name'));
Run Code Online (Sandbox Code Playgroud)

javascript jquery node.js backbone.js

3
推荐指数
1
解决办法
1905
查看次数

jQuery和XML之谜获得Digits NOT Letters

大编辑11/19/2012

所以,我的问题就在这里.我正在尝试使用jQuery和XML开发一个简单的购物车应用程序.

一切都还可以,但只有My Pizz的名字只包含数字...... 为什么???

尝试自己,你会认为只有"66666"比萨饼正在运作...... 为什么???

在这里工作演示

这是我的jS代码:

$(document).ready(function(){
 $.ajax({
  type: "GET",
  url: "example.xml", 
  dataType: ($.browser.msie) ? "text" : "xml",
  success: function(xml) {  
   $(xml).find('row').each(function(){
    var Col0 = $(this).find('nompizz').text();
    var Col1 = $(this).find('petit').text();
    var Col2 = $(this).find('moyen').text();
    var Col3 = $(this).find('grand').text();

    $('<tr id="bar"></tr>').html('<th class="title">'+Col0+'</th><td onclick="DisPlay('+Col1+');GetName('+Col0+');">'+Col1+'€</td><td onclick="DisPlay('+Col2+');GetName('+Col0+');">'+Col2+'€</td><td onclick="DisPlay('+Col3+');GetName('+Col0+');">'+Col3+'€</td>').appendTo('#pizzas');

   });
  }
 }); 
});
function DisPlay(Figure) {   
     var Display = document.getElementById('Display');
     if (Figure === null) {
         Display.value = Figure;
     }
     else {
         Display.value += "+"+Figure;
         Screen = Display.value
         result = eval(Screen);

         Display.value =result; …
Run Code Online (Sandbox Code Playgroud)

html xml jquery

2
推荐指数
1
解决办法
281
查看次数

使用var分配给变量的Javascript函数

我使用http://js2coffee.org将我的CoffeeScript代码转换为JavaScript

ResetControls = ->
  $("#menu_item_url").val ""
  $("#menu_item_name").val ""
  $("#resource_id").prop "selectedIndex", 0
  $("#resource_type_id").prop "selectedIndex", 0
Run Code Online (Sandbox Code Playgroud)

它将其转换为:

var ResetControls;

ResetControls = function() {
  $("#menu_item_url").val("");
  $("#menu_item_name").val("");
  $("#resource_id").prop("selectedIndex", 0);
  return $("#resource_type_id").prop("selectedIndex", 0);
};
Run Code Online (Sandbox Code Playgroud)

转换后的JavaScript代码中的第一行表明,在将函数赋值给变量时,将var关键字放在变量名之前是一种最佳实践.是这样吗?怎么样?

在我的理解中,var在递归调用中很方便,你的意图是在递归函数内部复制变量(否则它们将在递归调用之间共享或保持静态).

还有其他意义var吗?

javascript scripting-language

2
推荐指数
1
解决办法
189
查看次数

为什么JavaScript函数中的参数不需要var作为类型?

我知道这似乎是一个愚蠢的问题,但我实际上对以下情况感到困惑,如下所示......
我明白,对于每个变量,我们需要将数据类型指定为var,或者虽然这不是一个好的做法,但我们也可以不使用var.例如,
我们可以使用

var name = "kishore";
Run Code Online (Sandbox Code Playgroud)

或者干脆

name = "kishore";
Run Code Online (Sandbox Code Playgroud)

但是,当涉及到我们作为函数中的参数传递的变量时,为什么它们不接受var?如果我没有错,我认为这些就像其他变量一样,必须存储一些可以在该函数中访问的值.如果我指定var则会给出错误.我只是想知道那里发生了什么......?

javascript

2
推荐指数
1
解决办法
577
查看次数

NodeJ中var x = 1和x = 1之间的区别是什么

这可能是一个愚蠢的问题,但无论如何我都会问.在Node.js中编程时,我应该避免使用后者的两个选项之间是否存在真正的区别?

javascript node.js

2
推荐指数
1
解决办法
2682
查看次数

创建一个函数,它接受一个对象数组并根据条件返回一个新数组

我是一个noob学习javascript.我的导师给了我这个功课.

家庭作业:编写一个函数,它接受一组对象和一个数字maxAge.每个对象都有两个属性:name,age.返回一个新的对象数组,仅包含年龄小于或等于maxAge的对象.

这是我做的:

const objectArray = [

firstObject = {
    name: "Ryan",
    age: 32
},

secondObject = {
  name: "Caroline",
  age: 1
},

thirdObject = {
  name: "Steve",
  age: 35
},

fourthObject = {
  name: "Sheila",
  age: 67
},

fifthObject = {
  name: "Ron",
  age: 67
},

sixthObject = {
  name: "deadGuy",
  age: 150
},

];



const maxAge = 67;


const makeAgeDiscrimArray = (objectArray) => {
  const ageDiscrimArray = [];
  const above67Array = [];
  const length = objectArray.length;
  for (let …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

2
推荐指数
1
解决办法
123
查看次数