js代码块

1.内部变量覆盖外部变量

内部变量覆盖了外部变量后,变量提升:即脚本开始运行时,变量temp已经存在了,但是没有值,所以会输出undefined

var tmp = new Date();

function f(){
  console.log(tmp);
  if (false){
    var tmp = "hello world";
  }
}

f() // undefined

2.用来计数的循环变量泄露为全局变量

var s = ‘hello‘;

for (var i = 0; i < s.length; i++){
  console.log(s[i]);
}

console.log(i); // 5

  

时间: 2024-12-28 13:43:41

js代码块的相关文章

!!!常用JS代码块 (jquery)

jquery代码块 <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script type="text/javascript"> $(function(){ }); </script> 取页面参数 //取页面参数 var PAGE = { get:function(_name) { var str0=location.search

解决Myeclipse中导入自定义的配色方案后,JSP中的js代码块为白色背景的问题

捣鼓了大半个上午,终于搞定.这样设置就可以了: 点击MyEclipse上方的菜单栏中的window菜单.选择Preferences菜单项.在弹出的窗口的左侧树形菜单依次选择:MyEclipse.Files and Editors.Javascript.Editor.Syntax Coloring. 再在右边点开Background.Script Block 在右边自定义你需要的颜色,Apply即可. 如下图所示:

HBuilder js 自定义代码块

1 =begin 2 本文档是HBuilder预置的js代码块的文件.注意不要把其他语言的设置放到js里来. 3 如果用户修改此文档,HBuilder升级后会覆盖用户的修改,建议进入菜单 工具→扩展代码块 扩展相应的代码块. 4 若修改本文档,需要重启才能生效.修改过程中注意备份. 5 脚本开源地址 https://github.com/dcloudio/HBuilderRubyBundle 6 1.编辑代码块 7 如果要新增一个代码块,复制如下一段代码到空白行,然后设定参数. 8 snippe

JS代码的位置与事件响应代码块的封装问题

JS代码的位置 我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分.   放在<head>部分最常用的方式是在页面中head部分放置<script>元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分.   放在<body>部分JavaScript代码在网页读取到该语句的时候就会执行. ? 注意 Javascript作为一种脚本语言可以放在html页面中任何位置,但是浏览器解释html时是按先后

JS 一些功能代码块[如判断设备]

判断是否为PC 来源:http://blog.csdn.net/seven1276/article/details/8211877 function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad"

JS中一些常用的代码块

本文记录了一些工作中常用到的js代码. 1. 生成指定范围内的随机数 例如随机获取颜色rgba的参数值时 function setRandomNum(m,n){ return Math.floor(Math.random()*(n-m+1)) + m; } 2. json转url参数 当进行http请求,可能需要把json转化为url参数 function json2url(json) { var arr = []; for(var name in json) { arr.push(name+'

如何才能优雅地书写JS代码

第一:关于匿名函数的使用 要避免全局变量泛滥, 可以考虑使用匿名函数, 把不需要在外部访问的变量或者函数限制在一个比较小的范围内. 例如以下代码: <script> function func1(){ var list = ["a", "b", "c"]; for(var i = 0; i < list.length; i++){ //.. }; } func1(); // 自动运行 </script> 上述代码的作

浅谈 js 语句块与标签

原文:浅谈 js 语句块与标签 语句块是什么?其实就是用 {} 包裹的一些js代码而已,当然语句块不能独立作用域.可以详细参见这里<MDN block> 也许很多人第一印象 {} 不是对象字面量么?怎么成了语句块了?如果在赋值语句或者表达式里用的时候,确实是对象字面量,如: var a = {}; ({toString:function(){return "hehe"}}) + "..."; 是不是很有意思..但是直接使用如: {toString: fu

js没有块级作用域

今天看一篇介绍ECMAscript6的博文时,看到let命令的时候突然有点蒙逼....... let命令:let用于变量声明,与var用法类似,但是let是一个局部变量,只在声明的代码块中有效. { let a = 10; var b = 20; } a // not defined b // 20 看到这我觉得这个块级作用域是函数作用域,但是块级作用域和函数作用域是不一样的,比如: function demo(){ var a=1; } console.log(a); a//not defin