`
流浪的我
  • 浏览: 32627 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JS函数内声明变量常见错误

 
阅读更多

 在函数里声明变量对var关键字认识不深刻,这里就函数里声明变量的一些示例。

一、函数内使用var关键字声明变量

这种情况通常是声明的函数作为局部变量,即函数外不能使用

 

 

function aa(){
    // 声明变量,使用var关键字
    var str = '博客';
    alert(str); // out : 博客
}
 
aa();
 
// 函数外使用变量
alert(str); // 报错:没有声明str变量
 

 

 

 

二、函数内不使用var关键字声明变量

这种情况下,即是声明全局变量,整个脚本任何地方都可以使用

 

 

function aa(){
    // 声明变量,不使用var关键字
    str = '博客';
    alert(str); // out : 博客
}
 
aa();
 
// 函数外使用变量
alert(str); // out : 博客
 

 

 

三、一个常见的错误

 

 

 

// 声明全局变量
var str = '博客';
 
function aa(str){
    // 函数内定义一个与全局变量同名变量
    var str = str;
    alert(str); // out : undefined
}
 
aa();
 
// 再次使用变量,值未变
alert(str); // out : 博客
 

 

 

分享到:
评论

相关推荐

    JavaScript函数定义的常见注意事项小结

    1. 函数声明的同时JS引擎还定义了一个与函数名同名的变量,我们在调用这个函数的时候实际上是在使用这个变量,且它可以在函数声明之前调用,例如 foo(); //这里实际上是使用了一函数变量 function foo() { alert&#...

    JavaScript 5th

    ECMA 2009年12月推出了 JavaScript 5,除了增强基础函数库之外,还引入了严格运行时模式(Strict Runtime Modes)以避免代码中的常见错误。 严格模式 严格模式可用以下语句声明: "use strict;"该语句对以往的...

    javascript变量作用域使用中常见错误总结

    前言:javascript里变量作用域是个经常让人头痛抓狂的问题,下面通过10++个题目,对经常遇到又容易出错的情况进行了简单总结,代码样例很短很简单 题目一 代码如下: var name = ‘casper’; alert(name); /...

    AppMataMosquito:一个使用Javascript,HTML5,CSS3,Bootstrap 4创建的小游戏

    灭蚊器的应用关于该项目 Mata Mosquito App是一款迷你游戏风格的应用程序,旨在以简单的方式使用本机Javascript函数,从而无需过多的编码即可创建游戏。 为简单起见,一些错误的做法很常见,例如:在URL中传递参数;...

    PHP和MySQL Web开发第4版pdf以及源码

    1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 ...

    PHP和MySQL WEB开发(第4版)

    1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 计算表单总...

    PHP和MySQL Web开发第4版

    1.8 声明和使用常量 1.9 理解变量的作用域 1.10 使用操作符 1.10.1 算术操作符 1.10.2 字符串操作符 1.10.3 赋值操作符 1.10.4 比较操作符 1.10.5 逻辑操作符 1.10.6 位操作符 1.10.7 其他操作符 1.11 ...

    JavaScrip关于创建常量的知识点

    本文通过JS中创建常量的定义用法以及函数写法中常见的错误进行深入分析,希望对大家有所用处: 所谓常量即只能读取不能编辑(删除,修改)的变量。 js并没有原始的常量说法(即自定义的,原生态的),但是可以用一些...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    PHP入门到精通

    7.2声明数组 7.3数组的类型 7.4输出数组 7.5数组的构造 7.6遍历数组 7.7合并数组 7.8字符串与数组的转换 7.9统计数组元素个数 7.10数组排序 PHP与Web页面交互(教学录像:1小时4分33秒) 8.1Web页表单元素的组成 8.2...

    PHP入门到精通02

    7.2声明数组 7.3数组的类型 7.4输出数组 7.5数组的构造 7.6遍历数组 7.7合并数组 7.8字符串与数组的转换 7.9统计数组元素个数 7.10数组排序 PHP与Web页面交互(教学录像:1小时4分33秒) 8.1Web页表单元素的组成 8.2...

    freemarker总结

    后紧跟内建函数,就可以通过内建函数来轮换输出变量.下面是常用的内建的字符串函数: html:对字符串进行HTML编码 cap_first:使字符串第一个字母大写 lower_case:将字符串转换成小写 upper_case:将字符串转换成大写...

    asp.net知识库

    C#中利用GetOleDbSchemaTable获取数据库内表信息[原创] 如何解决ACCESS中SELECT TOP语句竟然返回多条记录的问题? Asp.net 利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息 用于 Visual Studio .Net 的 IBM ...

    亮剑.NET深入体验与实战精要2

    1.3.10 几个常用的数学函数 27 1.4 .NET的面向对象之门 27 1.4.1 继承——“子承父业” 28 1.4.2 委托——“任务书” 35 1.4.3 事件——“年终分红” 42 1.4.4 反射——“解剖” 49 1.5 .NET开发几把小刀 52 1.5.1 ...

    亮剑.NET深入体验与实战精要3

    1.3.10 几个常用的数学函数 27 1.4 .NET的面向对象之门 27 1.4.1 继承——“子承父业” 28 1.4.2 委托——“任务书” 35 1.4.3 事件——“年终分红” 42 1.4.4 反射——“解剖” 49 1.5 .NET开发几把小刀 52 1.5.1 ...

    千方百计笔试题大全

    47、在java 中一个类被声明为final 类型,表示了什么意思? 12 48、下面哪些类可以被继承? 12 49、指出下面程序的运行结果: 【基础】 13 52、关于内部类: 13 53、数据类型之间的转换: 14 54、字符串操作:如何实现...

    java面试宝典

    47、在java 中一个类被声明为final 类型,表示了什么意思? 12 48、下面哪些类可以被继承? 12 49、指出下面程序的运行结果: 【基础】 13 52、关于内部类: 13 53、数据类型之间的转换: 14 54、字符串操作:如何实现...

    Java学习笔记-个人整理的

    {1.10.1}数组变量的声明}{34}{subsection.1.10.1} {1.10.2}数组变量的初始化}{34}{subsection.1.10.2} {1.10.3}数组对象的引用}{35}{subsection.1.10.3} {1.10.4}数组对象的复制}{35}{subsection.1.10.4} {...

    vcg(验证码控件)

    //(如果属性栏中“文字控制”属性卡下的“SessionCode”默认属性值“Code”改变, //则在代码中的Session[”Code”]中引号内的值也必须手工修改成与属性值一致的字符串。) code = Session[”Code...

Global site tag (gtag.js) - Google Analytics