我喜欢用我的代码做极简主义,所以可以在文件的最顶层声明很多变量.我明白这会让他们全球化吗?
全局是否意味着该特定文件中的任何代码都可以使用这些变量?或者它是否意味着如果我使用的插件具有"单独的"js文件,该文件也可以使用我的全局变量,并可能导致错误?
那么在没有var的情况下编写这样的变量会有安全威胁
ab = $('#div32');
bc = 1000;
Run Code Online (Sandbox Code Playgroud)
另外,我可以仅使用变量吗?
zy = $(window);
yy = $(document);
Run Code Online (Sandbox Code Playgroud)
另外,在你的变量之后放置逗号(除了最后一个)然后在每个变量之后加上分号之间的区别是什么?它对任何事都有影响吗?
我是JavaScript新手,我想从我的数组中获取三个随机元素,这些元素需要不同.我已经设法得到三个不同的元素,然后我尝试通过split方法只获取一个元素.但显然这不起作用,可能有很多错误,因为这是我的第一个脚本之一.它有时也说"未定义".
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) 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, undefinedRun Code Online (Sandbox Code Playgroud)
如果不使用var,为什么不能删除全局变量?
对于代码,我发现不需要使用var声明变量.以下都是有效的
// with var
var object = new Object();
// without var
object = new Object();
Run Code Online (Sandbox Code Playgroud)
这两者有什么区别?
我试图通过创建一个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) 大编辑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) 我使用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吗?
我知道这似乎是一个愚蠢的问题,但我实际上对以下情况感到困惑,如下所示......
我明白,对于每个变量,我们需要将数据类型指定为var,或者虽然这不是一个好的做法,但我们也可以不使用var.例如,
我们可以使用
var name = "kishore";
Run Code Online (Sandbox Code Playgroud)
或者干脆
name = "kishore";
Run Code Online (Sandbox Code Playgroud)
但是,当涉及到我们作为函数中的参数传递的变量时,为什么它们不接受var?如果我没有错,我认为这些就像其他变量一样,必须存储一些可以在该函数中访问的值.如果我指定var则会给出错误.我只是想知道那里发生了什么......?
这可能是一个愚蠢的问题,但无论如何我都会问.在Node.js中编程时,我应该避免使用后者的两个选项之间是否存在真正的区别?
我是一个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)