关于JS作用域的一点小问题

    var fauxConstant = "123";

    function badFunction() {
        fauxConstant = "456";
    }

    function goodFunction() {
        var fauxConstant = "456";
    }

    function testIt() {
        alert(fauxConstant);//123
        goodFunction();
        alert(fauxConstant);//123
        badFunction();
        alert(fauxConstant);//456
    }
    testIt();
时间: 2024-10-25 19:32:13

关于JS作用域的一点小问题的相关文章

关于js注入的一点小实验

闲来无事突然想玩玩js注入了,以下是一点小实验,有兴趣的朋友可以试试.话说一般浏览器保存账户和密码然后自动登陆的原理是不是这个,还请大神指教(●''●). 新建一个txt文本,命名为"test1",把以下代码复制进去,然后把文件后缀名改为"html". <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <title></title> <

js调试的一点小知识

1.如果想要js代码被XHTML和HTML解析,就可以使用如下方式 <script type="text/javascript"> //<![CDATA[ function(){ …… } //]]> </script> 2.在调试器中可以通过callStack看到函数执行的过程. 3.控制台比较有用的函数 console.log():输出日志 console.trace():堆栈函数,可以查看指定函数的调用关系 clear():清除控制台中的log

给Javascript初学者的一点小建议

本文来自e良师益友网 一般初学JavaScript的时候最头痛的就是浏览器兼容问题.在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了. 如果你正初学JavaScript并有着一样的处境的话建议你:初学JavaScript的时候无视DOM和BOM的兼容性,将更多的时间花在 了解语言本身(ECMAScript).只在特定浏览器编写代码(Chrome/Firefox/Safari),实际工作中使用成熟的 JavaScript框架(jQuery等

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,

新闻发布的一点小总结

经过一段时间的学习,完成了新闻发布的基础功能,进行一点小总结,方便日后回顾.下面是我的一点小总结,不足之处请勿见笑... 我们想要完成一个新闻发布,首先要使其能够成功发布,并且让它能够实现添加.删除.修改.查询.上传.下载等功能.我们还调用AJAX功能查看输出为XML.JSON格式的新闻内容.为完成以上功能,我们首先要进行jdk.tomcat.eclipse的安装和配置.1.各软件的安装和配置1.1.jdk的安装和配置: 1.1.1.下载jdk:下载地址:http://www.oracle.co

js作用域理解 function(){} var

在coding过程中遇到过下面的情况: 1 var test1 = function(){ 2 var c=4; 3 test2(); 4 }; 5 6 var test2 = function(){ 7 console.log(c); 8 }; 9 10 test1(); 思考一下,7行会conasole出什么?4 吗?实际上却是 c is not defined. 而当代码如下的时候, 1 var test1 = function(){ 2 var c=4 3 var test2 = fun

在ASP.NET使用javascript的一点小技巧

我们在进行ASP.NET开发时,经常会用到一些javascript脚本,比如: private void Button1_Click(object sender, System.EventArgs e) { Response.Write( "<script language='javascript'>alert('OK');</script>") ; } 经常是重复的书写这些脚本,如果我们能做成一个相应的函数就好了,直接就可以拿来使用.很多人都有自己的一些jav

js作用域的销毁、不立即销毁、不销毁

JavaScript中的函数执行会形成私有的作用域. (1)作用域的销毁 一般情况下,函数执行形成一个私有的作用域,当执行完成后就销毁了->节省内存空间 (2)作用域的不立即销毁 function fn(){ var i=10; return function(n){ console.log(n+i++); } } fn()(15);//->先执行fn,有一个私有的变量i=10,返回一个堆内存地址 xxxfff111,我们发现这个地址还用到了一次,那么当前的这个fn形成的私有作用域(A)就不能

原生JS实现的h5小游戏-植物大战僵尸

代码地址如下:http://www.demodashi.com/demo/12755.html 项目介绍 本项目是利用原生js实现的h5小游戏-植物大战僵尸,主要结合了一下自己对于h5小游戏的理解,结合面向对象的编程思想进行开发,在实现时使用了部分es6语法,对于es6语法不太熟悉的小伙伴可以先查阅相关资料了解一下. 如有需要,可根据自己的需求修改源码样式.源码配置属性代码,实现个性化定制. 以下为文件目录结构示意图,核心代码在js文件夹下的四个common.js.main.js.game.js