精华内容
下载资源
问答
  • js中用var声明变量后并赋值(假设这个值为字符串"variable"),这个值 如果需要JSP拿出来显示可以使用此方法: 先JSP写一个span标签并设置ID,回到刚刚声明变量的js中在下面补上一句 span_id.innerHTML=...
    在js中用var声明变量后并赋值(假设这个值为字符串"variable"),这个值
    

    如果需要在JSP中拿出来显示可以使用此方法:

    先在JSP中写一个span标签并设置ID,回到刚刚声明变量的js中在下面补上一句

    span_id.innerHTML=variable

    在页面中你想要显示此变量值得位置加上<span id="span_id"></span>即可

     

    DEMO:

    <script language="JavaScript">
        function tick() {
            var hours, minutes, seconds;
            var intHours, intMinutes, intSeconds;
            var today;
            today = new Date();
            intHours = today.getHours();
            intMinutes = today.getMinutes();
            intSeconds = today.getSeconds();
    
            if (intHours == 0) {
                hours = "00:";
            } else if (intHours < 10) {
                hours = "0" + intHours+":";
            } else {
                hours = intHours + ":";
            }
    
            if (intMinutes < 10) {
                minutes = "0"+intMinutes+":";
            } else {
                minutes = intMinutes+":";
            }
            if (intSeconds < 10) {
                seconds = "0"+intSeconds+" ";
            } else {
                seconds = intSeconds+" ";
            }
            timeString = hours+minutes+seconds;
            Clock.innerHTML = timeString;
            window.setTimeout("tick();", 1000);
        }
        window.onload = tick;
    </script>
    <div>
        <p align="center">XXXX页面&nbsp;2019年11月9日&nbsp;<span id="DTime"></span>&nbsp;<span id="Clock"></span>
            &nbsp; <strong>信息部-</strong>技术支持 <font color="#FF0000">Ver 0.0.1&nbsp; </font>
        </p>
    </div>
    <script type="text/javascript">
        var strDateTime ="星期"+"日一二三四五六".charAt(new Date().getDay());
        DTime.innerHTML=strDateTime;
    </script>
    展开全文
  • JavaScript中var与let区别

    千次阅读 2018-11-02 10:24:57
    JavaScript中var与let区别 ES6引入let关键字,JS中var与let都是用来声明变量,var没有块级作用域,let有。let因为有了块级作用域,还会带其他的不同。 现在来具体举例说明下区别: 1、关于块级作用域 var a = ...

    添加链接描述

    今日头条:https://www.toutiao.com/i6535675554807415299/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&from=singlemessage&timestamp=1541120454&app=news_article&utm_source=weixin&iid=44628601808&utm_medium=toutiao_android&group_id=6535675554807415299

    JavaScript中var与let区别

    ES6引入let关键字,在JS中var与let都是用来声明变量,var没有块级作用域,let有。let因为有了块级作用域,还会带其他的不同。

    现在来具体举例说明下区别:

    1、关于块级作用域

    var a = 0;

    {

    var a = 1;

    }

    console.log(a); // 1

    如果是let:

    let a = 0;

    {

    let a = 1;

    }

    console.log(a); // 0

    2、重定义同名变量

    var b = 1;

    var b = 2;

    console.log(b); // 2

    var b = 1;

    {

    var b = 2;

    }

    console.log(b); // 2

    如果是let:

    let b = 1;

    let b = 2; // 报错。Identifier ‘b’ has already been declared

    let b = 1;

    {

    let b = 2;

    }

    console.log(b); // 1

    3、变量提升

    var a = 1;

    function foo() {

    console.log(a); // undefined

    var a = 2;

    }

    foo();

    如果是let则抛异常。 a is not defined

    4、全局对象属性

    var a = 1;

    console.log(window.a, a); // 1,1

    如果是let:

    let b = 1;

    console.log(window.b, b); // undefined, 1

    5、for(含for-of、for-in)循环中的不同,let会创建一个新的作用域

    for (var i = 0; i < 3; i++) {

    setTimeout(function() {

    console.log(“setTimeout:”, i); // 3次3

    });

    }

    如果是let:

    for (let i = 0; i < 3; i++) {

    setTimeout(function() {

    console.log(“setTimeout:”, i); // 0,1,2

    });

    }

    这是为什么?每次都会声明新的同名变量吗?那怎么递增和怎么影响到外部呢?

    1.for(expression) 括号里面表达式是一个父级作用域

    2.for循环的每个迭代都会创建一个新的{}作用域块,也就有了块级作用域。新的块是基于前一个执行环境所创建,在初始化时会把变量声明和最新赋值都带过来(thisIterationEnv.InitializeBinding (bn, lastValue))。因此变量会跟着递增,同时如果修改了{}块中的变量也会影响到表达式作用域中的同名变量。但如果在{}块内显式地声明了同名变量,则此时变量修改就不会影响到父级。

    3.var允许重复声明覆盖外层同名的变量,let因为块级作用域所以不会覆盖父级同名的变量

    循环就像以下:

    var i = 1; i++;

    {

    var i = i; // i = 2

    setTimeout(function() {

    console.log(i); // 3

    }, 0);

    }

    i = 3;

    console.log(i); // 3

    如果是let:

    let i = 1; i++;

    {

    let i = 2;

    setTimeout(function() {

    console.log(i); // 2

    }, 0);

    }

    i = 3;

    console.log(i); // 3

    再看一段代码:

    for (let i = 0; i < 3; i++, console.log(“expression作用域:”, i)) {

    setTimeout(function() {

    console.log(“setTime function作用域:”, i);

    });

    let i = 10; // 删除这行试下

    i++;

    console.log(“for block作用域:”, i);

    }

    执行结果:

    JavaScript中var与let区别

    展开全文
  • Javascript中var和let间差异

    千次阅读 2017-03-30 10:30:10
    Javascript中var和let间差异 Javascript申明变量的方式有let、var、const三种不同方式。let和const行为词法环境中相同,但是var差异很大,var早起被引入,现代Javascript一般不使用,但旧代码到处都是,本文详细...

    Javascript中var和let间差异

    Javascript申明变量的方式有let、var、const三种不同方式。let和const行为在词法环境中相同,但是var差异很大,var在早起被引入,现代Javascript一般不使用,但旧代码到处都是,本文详细说明,希望不让你迷惑。

    示例1 两者相同

    function sayHi() {
      var phrase = "Hello"; // local variable, "var" instead of "let"
    
      alert(phrase); // Hello
    }
    
    sayHi();
    
    alert(phrase); // Error, phrase is not defined
    

    示例2 两者不同

    下面是不同的,var没有块区域,仅为全局或函数区域,可以越过块区域。

    if (true) {
      var test = true; // use "var" instead of "let"
    }
    
    alert(test); // true, the variable lives after if
    

    如果我们使用 let 在第二行,在alter语句不能访问test百年来。但是var忽略代码块,所以我们其实申明test变量为全局变量了。

    对loop也是同样的,var不能是块区域或局部循环区域:

    for(var i = 0; i < 10; i++) {
      // ...
    }
    
    alert(i); // 10, "i" is visible after loop, it's a global variable
    

    如果代码块在函数里,那么var变成了函数级变量:

    function sayHi() {
      if (true) {
        var phrase = "Hello";
      }
    
      alert(phrase); // works
    }
    
    sayHi();
    alert(phrase); // Error: phrase is not defined
    

    如你所见,var穿过if,for或其他代码块,这时早期Javascript块没有词法环境,var是早起遗留产物。

    var在函数开始时处理

    var申明在函数(或脚本开始处,为全局变量)开始点处理。换言之,var变量在函数开始处被申明,无论其被定义在哪里(假设不是定义在嵌套函数里)。代码示例:
    function sayHi() {
    phrase = “Hello”;

      alert(phrase);
    
      var phrase;
    }
    

    与下面代码效果一样:

    function sayHi() {
      var phrase;
    
      phrase = "Hello";
    
      alert(phrase);
    }
    

    甚至在被忽略的代码块中:

    function sayHi() {
      phrase = "Hello"; // (*)
    
      if (false) {
        var phrase;
      }
    
      alert(phrase);
    }
    

    一般称这种行为叫“提升”,因为所有var被提升至函数顶端。所以,示例中if(false)段代码永远不被执行,但没关系,var被提升至函数顶部,所有示例中(*)行变量已经存在。

    申明被提升,但赋值没有提升
    演示示例如下:
    function sayHi() {
    alert(phrase);

      var phrase = "Hello";
    }
    
    sayHi();
    

    var = phrase = “Hello” 有两个动作
    1、申明变量 var
    2、变量赋值 =

    申明被提升至函数顶部,但赋值总是在原来的地方,所以代码实际效果如下:

    function sayHi() {
      var phrase; // declaration works at the start...
    
      alert(phrase); // undefined
    
      phrase = "Hello"; // ...assignment - when the execution reaches it.
    }
    
    sayHi();
    

    因为所有all申明被提升至函数顶部,所以我们能在函数内其他地方引用,但变量在赋值前是undefined。上面两个示例alert运行都没有错误。因为变量phrase已经存在,但有没有被赋值,所以显示undefined。

    总结

    针对var有两个主要差异:

    1、变量无块范围,最小可见范围是函数级。
    2、变量申明被提升至函数顶部。

    这种差异大多数情况不是好事,我们不能创建块级变量,占用更多内存;提升变量位置给错误提供更多空间。因此,一般新的脚本var通常很少使用。

    展开全文
  • javascript中var that=this

    2017-03-25 00:07:36
    在JavaScript中,this代表的是当前对象。 var that=this就是将当前的this对象复制一份到that变量中。这样做有什么意义呢? $('#zhetenga').click(function(){ //this是被点击的#zhetenga var that

    你可能会发现别人写的代码中有这么一句:var that = this;,这代表什么意思呢?

    JavaScript中,this代表的是当前对象。

    var that=this就是将当前的this对象复制一份到that变量中。这样做有什么意义呢?

    $('#zhetenga').click(function(){

    //this是被点击的#zhetenga

    var that = this;

    $('.zhetenga').each(function(){

    //this是.zhetenga循环中当前的对象

    //that仍然是刚才被点击的#zhetenga

    });

    });

    可以看到,this对象在程序中随时会改变,而var that=this之后,that没改变之前仍然是指向当时的this,这样就不会出现找不到原来的对象。

    展开全文
  • JavaScript中var的重要性

    千次阅读 2016-08-15 16:24:02
    JS申明变量是使用var来进行申明,但是有的时候我们没有使用var也可以。这是为什么呢?我来给大家细细的说来。 var的本质 var的本质就是来申明变量的 var str = 'China';//申明并进行赋值 变量的作用范围先以一...
  • JavaScript中var、let和const的区别

    万次阅读 多人点赞 2018-07-14 15:04:05
    一、前言ES6(ES2015)出现之前,JavaScript中声明变量就只有通过 var 关键字,函数声明是通过 function 关键字,而ES6之后,变量声明的方式有 var 、 let 、 const 、 function 、 class ,本文主要讨论 var ...
  • 很多人都觉得在javascript声明一个变量,加var和不加var没有什么区别,实际上是一个错误的观点,如果在函数外面,也就是说在window区域加不加var确实是一样,因为都会是全局变量的效果,而如果在函数内部,加var就是...
  • javaScript中var、let、const的区别

    千次阅读 2017-08-24 15:43:29
    在javascript中有三种声明变量的方式:var、let、const。 1、var  之前我们在写js代码的时候都知道可以用var定义全局变量和局部变量,也可以省略var,而且在非严格模式下不会报错,但是实际上在严格模式下,两者的...
  • javascript中var的具体用法及含义

    千次阅读 2016-01-07 20:36:56
    js 允许定义变量的时候 不加var 修饰符。 js会当前作用域下寻找上下文是否定义了此变量, 如果没有找到则会为这个变量分配内存。 当且将其视为window的成员。 也就是全局变量。如果加了var 修饰符。 js会...
  • 这几天逛CSDN论坛,发现在...What we know is that…(英语作文万能开头) :在JavaScript中有三种声明变量的方式:var、let、const。 目录1.var2. let3. const 1.var (1)var定义的变量在之后可以修改,如果不初始...
  • JavaScript var that = this

    千次阅读 2017-08-01 20:50:06
    关于JavaScript中的var that =this Author:Bridge Time:2017/8/01在JavaScript中,今天学习H5写一个小游戏的时候,遇到了一个不太懂的点,在此写下自己的第二篇CSDN博客。
  • javascript中var关键字

    千次阅读 2014-08-28 15:43:24
    javascript在声明变量时忽略var关键字是完全合法的。JavaScript作为弱类型(loosely-typed)的语言,不声明变量类型貌似是可以理解的,但是事实不是这么的直白,因为变量的属性除了类型外,还有作用域。本文将举例讲解...
  • JavaScript中 var self=this 的解释

    千次阅读 2016-03-17 20:40:00
    每个函数定义被ECMAScript解析器解析时,都会创建两个特殊的变量:this和arguments,换句话说,每个函数都有属于自己的this对象,这个this对象是运行时基于函数的执行环境绑定的,即全局对象,this指向的是...
  • JavaScript var和let

    2019-01-25 08:49:44
    二、var变量都会先初始化为undefined,不管你它的作用域的哪里声明;let变量没有提前声明会报错。   要注意的一点,不管声明var变量的那个语句的条件是否满足,对变量var的声明都会执行,...
  • ②使用var语句声明的变量的作用域是当前执行位置的上下文:一个函数的内部(声明函数内)或者全局(声明函数外)。 ③给一个非声明变量赋值会隐式创建一个全局变量(造成代码污染)(全局object的一个属性...
  • JavaScript中用var和不用var的区别

    千次阅读 2019-12-24 18:37:18
    Javascript声明变量的,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。 varnum=1; 是当前域声明变量。如果方法声明...
  • javascript中let和var的区别

    千次阅读 2019-02-22 13:50:10
    javascript中let和var的区别 程序媛萌小雪Mxx 0.12018.02.23 11:06*字数 584 let是es6中新增命令,也是用来声明变量的,可能很多小伙伴都像我一样,定义变量的时候都会用var而很少用到let,那么,let和var到底有...
  • JavaScript中使用var定义变量和不适用var定义变量的区别 1、不使用var定义一个变量 不使用var定义一个变量时是定义了全局对象window的一个属性,事实上你无论代码中的任何一个部分(全局或者某一代码块中)声明...
  • ) 替换为 for(var i = 0; ;) 后,就能通过运行了 讲道理这是不可能发生的事情啊!感觉自己三观快崩溃了!let不是var的优化吗!怎么性能还变慢了! 目前不明白是什么原因,猜想可能是由于目前新引擎对于let 的优化...
  • 它的用法类似于var,但是所声明的变量,只let命令所在的代码块内有效。 var变量作用域只有函数作用域和全局变量。 { var i = 9; } console.log(i); // 9 { let i = 9; // i变量只花括号内有效 } ...
  • javascript中var=a=b=c=2代表什么

    千次阅读 2017-04-17 19:10:36
    var h = hapj = function(u){ }; h.a = []; h.c = function(){}; })(document); hapj.c();//可以此调用c函数 为什么外部可以调用,对于新手来讲会有点难以理解,结合下面的例子来讲解 函数一: ...
  • javascriptvar关键字

    2015-08-22 19:36:43
    在javascript中关于变量和一些语法习惯真的是太随意了,接下来我就说说这个"var". 一、首先我来说说javascript的数据类型 1.初始类型  Undefined  Null  Number  String  Boolean 2.引用类型  object (class) ...
  • 但是有时实际应用JavaScript时,却会发现明明我给变量赋值了,为什么之后函数调用的时候却输出变量是undefined. 同样遇到问题的我,发现了js的坑 : 变量提升. 二、变量提升 我们先看一段js代码: var scope =...
  • C#var用法: 1. var是3.5新出的一个定义变量的类型其实也就是弱化类型的定义; 2. var可代替任何类型编译器会根据上下文来判断你到底是想用什么类型的; 3. 至于什么情况下用到var,我想就是你无法确定自己将...
  • Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的。可以正常运行的代码并不代表是合适的代码。 var num = 1; 是当前域声明变量. 如果...
  • 最近做web项目遇到一个从来未遇到的问题,这个问题相信做为web开发的程序员来说遇到的可能性比较小!那么这个问题是怎么样出现的呢?我们有该如何解决这个问题呢? 由于javascript是弱类型语言,我们一般的基本...
  • javascript中错误使用var造成undefined

    千次阅读 多人点赞 2014-09-29 18:35:30
    在javascript中根据变量作用的范围不同分为局部变量和全局变量,直接定义的变量是全局变量,全局变量可以被所有的脚本访问;在函数中定义的变量是局部变量,局部变量只在函数内有效。 如果全局变量和局部变量使用...
  • 在javascript中,定义变量有两种方式: var i = 0; i = 0;这两种方式都对,只不过是有区别的。区别在于如果没有var定义的变量,javascript会默认该变量时全局变量,而如果有了var的定义的话,会限制该变量的范围...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,779
精华内容 9,911
关键字:

在javascript中var

java 订阅