标签: var

在c#中使用隐式类型的可空变量?

无论如何,var是否可以为可空类型?

这隐式地将i类型化为int,但是如果我想要一个可以为空的int呢?

var i = 0;

为什么不支持这个:

var? i = 0;

c# var nullable .net-3.5

7
推荐指数
2
解决办法
7891
查看次数

使用var与函数声明javascript对象有什么区别?

我是一个困惑的新手.我在教程中读到你创建一个像这样的javascript对象:

function myObject() {
    this.myProperty = "a string";
    this.myMethod = function () {
        //Method code
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在其他地方读到你创建一个像这样的对象:

var myObject = {
    myProperty: "a string",
    myMethod : function () {
        //Method code
    }
}
Run Code Online (Sandbox Code Playgroud)

两者之间的(非主观)差异是什么?是否有正式的正确方式和错误的方式?

javascript oop var function object

7
推荐指数
1
解决办法
571
查看次数

Jquery,如果它是第一次点击元素

我需要我的脚本在第一次单击元素时执行某些操作,并在单击2,3,4等时继续执行不同的操作

$('selector').click(function() {  
//I would realy like this variable to be updated  
var click = 0;  
    if (click === 0) {  
        do this  
        var click = 1;  
    } else {  
        do this  
    }
});//end click
Run Code Online (Sandbox Code Playgroud)

我认为它应该依赖于变量,但我想不出如何从这里更新变量,任何帮助都会很棒.

javascript each jquery var click

7
推荐指数
2
解决办法
6334
查看次数

动态,对象,Var

随着dynamic类型的开始和.NET 4中的DLR,我现在有3个选项来声明我称之为"开放"类型:

  • var,局部隐式类型强调"什么"而不是"如何",
  • object,别名System.Object
  • dynamic,禁用编译器检查,在运行时添加方法/属性

虽然那里有很多关于这些的文章,但我发现的并没有把它们放在一起,我不得不承认,它仍然有点模糊.

添加到这个LINQ,lambda表达式,匿名类型,反射......它变得更加不稳定.

我想看一些例子,也许是对比优势/劣势,帮助我巩固对这些概念的把握,并帮助我理解何时,何地以及如何在它们之间进行选择.

谢谢!

c# var dynamic object

7
推荐指数
1
解决办法
928
查看次数

Javascript:z = z || []不使用VAR时会抛出错误 - 为什么?

出于好奇的好奇心,为什么javascript会接受

var z = z || [];
Run Code Online (Sandbox Code Playgroud)

初始化z(因为z可能最初定义)

但没有var,它会抛出一个错误(在全球空间)

z = z || [];
Run Code Online (Sandbox Code Playgroud)

(如果z先前未定义)

在全球空间中,您不需要使用VAR,但我得到它可能是不好的做法.

在你说这是一个重复的问题之前

var关键字的用途是什么以及何时使用它(或省略它)?

注意声明"如果你在全球范围内那么没有区别."

显然,根据我的工作实例,这并非100%正确.

这是一个怪癖还是有合法的逻辑?


在我学会的时候添加答案摘要:

感谢蒂姆(见下文)我误解的关键是没有意识到这一点(javascript的基础)

var z; 如果z已经存在,则绝对没有

这就是这个表达式似乎有两种方式,如果你错误的假设"var z"总是初始化.

从左边开始,"var z"只是确保定义了z,但是如果已经存在,则实际上不会影响任何现有值.然后在右边,如果z已经存在,则使用它,否则,变量刚刚被声明(但是为空),因此它不会被使用但不会引发错误.

这是关于Javascript中这种范围和提升问题的优秀文章:http: //www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting

非常感谢minitech和其他所有贡献者!

javascript var scoping operator-precedence hoisting

7
推荐指数
2
解决办法
232
查看次数

关于nettuts"学习jquery 30天"的四个问题

我正在做一个关于nettuts的免费jQuery课程,叫做Jeffrey Way学习jquery 30天,我有四件事我真的很难过,首先是这里的代码:

(function() {
    $('html').addClass('js');

    var contactForm = {
            container: $('#contact'),

        init: function() {
            $('<button></button>', {
                text: 'Contact Me'
            })
                .insertAfter('article:first-child   ')
                .on('click', this.show);
            },
        show: function() {
            contactForm.container.slideDown(500);
        }                       
    };

    contactForm.init(); 

})();
Run Code Online (Sandbox Code Playgroud)

当您单击网站上的"与我联系"按钮时,它基本上会滑下联系表单.我的问题是:

  1. 什么是"初始"的全部意义,你需要它吗?
  2. 为什么整个jquery代码在变量里面?
  3. 上的串码,说.on('click', this.show);你为什么需要thisthis.show
  4. 最后,为什么你需要contactForm.container.slideDown(500);为什么不能只是说container.slideDown(500);$('form.contact').slideDown(500); (顺便说一下,滑下来的形式的id是contact.

jquery var init this

7
推荐指数
1
解决办法
982
查看次数

你能利用名为`var`的类的隐式类型变量吗?

我刚刚发现可以将关键字var用作类名:

public class var // no problem here
{
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我重载隐式强制转换运算符,我可以以一种有趣的方式使用我的类:

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            var x = 1; // var is of type MyApp.var
        }
    }

    public class var
    {
       public implicit operator var(int i)
       {
           return new var();
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否仍然可以以某种方式使编译器推断出类型?这篇博客文章指出它是不可能的(转到以"或者,另一个例子"开头的段落),但也许自2009年以来发生了变化?

c# var

7
推荐指数
1
解决办法
234
查看次数

我对javascript let和var in for循环感到困惑?

这是我的循环代码

var username = ['Sam', 'Adarsh', 'Rohit', 'Rajat'];
for(var i in username){
  console.log(username[i]);
}
Run Code Online (Sandbox Code Playgroud)

它根据需要输出相同,但我不确定为什么需要声明.我理解VAR和LET的概念,但不确定var在哪些情况下会在for循环中产生问题?

任何身体请帮助我理解这个概念.我是新的菜鸟,试图找出:)

谢谢你的帮助.

javascript scope for-loop var let

7
推荐指数
1
解决办法
6680
查看次数

javascript-未捕获的SyntaxError:标识符*已经声明

console.log(a) //output:ƒ a(){}
var a = 1;
function a(){};
var a = 10;
console.log(a) //output:10
Run Code Online (Sandbox Code Playgroud)

====================

var a = 1;
if(true){
  function a(){};
  var a = 10;
}
console.log(a) // this code throws Uncaught SyntaxError: Identifier 'a' has already been declared
Run Code Online (Sandbox Code Playgroud)

除了if块之外,上面两个代码片段是相同的.为什么后者在javascript中允许delcare同一个变量两次在同一范围内使用var,如下所示抛出错误

 function a(){};
 var a = 10; //no error
Run Code Online (Sandbox Code Playgroud)

同样对于在上面的代码中从var变量= 10中删除var之后略有不同的情况,那么它工作正常但输出却令人惊讶

 var a = 1;
 if(true) {
   function a(){};
   a = 10;
 }
 console.log(a) //output:ƒ a(){}
Run Code Online (Sandbox Code Playgroud)

我很惊讶地看到这个输出,因为我期待10 ..因为在if块内声明的两个变量引用上面声明的相同变量javascript var不尊重块范围但功能范围...所以为什么不输出上面应该10点?当用函数表达式替换函数定义时,下面的代码输出10,就像我预期的那样.

  var a = 1;
  if(true) {
    var a = function(){ …
Run Code Online (Sandbox Code Playgroud)

javascript scope var hoisting

7
推荐指数
3
解决办法
2万
查看次数

具有相同名称的变量和函数在块内返回错误

如果我们声明一个变量和一个具有相同名称的函数,则它接受重新声明。但是,当我们在一个块内执行相同的操作时,它会显示重新声明错误
码:

var x;
function x() {}; // no error.
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,我得到了错误。

{
  var inside; // re-declaration error.
  function inside() {};
}
Run Code Online (Sandbox Code Playgroud)

预期结果应该没有错误。

javascript var function redeclaration hoisting

6
推荐指数
2
解决办法
99
查看次数