`
流浪的我
  • 浏览: 34158 次
  • 性别: 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函数式编程

    JavaScript函数式编程是利用JavaScript语言编写函数式风格代码的一种编程范式。函数式编程强调使用纯函数、避免副作用、函数的不可变性以及利用高阶函数等概念。通过阅读《JavaScript函数式编程指南》,读者可以了解...

    javascript指南和函数式编程

    而《JavaScript函数式.zip》可能是一份关于JavaScript函数式编程的资料集合,函数式编程是一种编程范式,强调使用函数和避免改变状态。其中可能涵盖以下知识点: 1. **纯函数**:理解纯函数的定义,即给定相同的...

    JS 函数式编程指南

    JS中的闭包是函数内部能够访问其词法作用域内变量的能力,即使函数已经返回。闭包常用于实现私有变量和封装,是函数式编程中实现状态隔离的重要工具。 9. 高阶组件(Higher-Order Components, HOCs): 在React等JS...

    浅谈js中的变量名和函数名重名

    3. 函数声明优先于变量声明:当函数和变量在同一作用域内有相同的名字时,由于函数声明的优先级更高,所以变量声明会被覆盖。这是关键点,因为这会导致后续的赋值操作实际上是在给函数而非变量赋值。 4. 声明与赋值...

    JS常见错误及开发技巧

    JavaScript,简称JS,是网页开发中的重要脚本语言,它允许开发者实现动态效果和交互功能。在实际开发中,常见的错误和编码规范是确保代码质量和兼容性的重要因素。以下是一些关于JS开发的关键知识点和技巧: 1. **...

    javascript变量作用域

    在 JavaScript 中,函数中声明的变量在整个函数中都有定义。这意味着,即使在函数体内部定义了局部变量,该变量也可以在整个函数体内使用,并可以重新赋值。 了解 JavaScript 变量作用域的规则非常重要,因为它可以...

    浅析函数声明和函数表达式-函数声明的声明提前_.docx

    【函数声明与函数表达式】在JavaScript中,函数是第一类对象,这意味着它们可以作为值进行传递和存储。本文将重点讨论两种常见的函数定义方式:函数声明和函数表达式,特别是函数声明的声明提前(Hoisting)现象。 ...

    CSDN官方js函数大全

    CSDN官方发布的这个“js函数大全”集合了JavaScript中的各种常见函数,对于学习和查阅JavaScript功能具有极大的帮助。下面我们将深入探讨其中的一些重要知识点。 1. **变量与数据类型**: JavaScript支持动态类型...

    js函数内变量的作用域分析

    - JavaScript函数作用域是根据函数定义来划分的,函数内部声明的变量在外部是不可见的。 - 函数内可以直接访问外部作用域的全局变量,但外部无法直接访问函数内的局部变量。 - 使用`var`声明的变量存在变量提升现象...

    javascript强制函数自动执行.pdf

    ### JavaScript中的函数声明与函数表达式 在JavaScript中,函数是一种非常重要的编程构造,它可以被定义为函数声明或函数表达式。这两种定义方式各有特点,并且在不同的上下文中有着不同的行为。 #### 函数声明...

    3.8 函数参数与变量的作用域(ppt).zip

    理解函数参数和变量的作用域对于编写清晰、无错误的代码至关重要。错误地使用作用域可能导致意外的变量覆盖、未定义的变量引用等问题。在编写程序时,应遵循“最小作用域原则”,即尽量让变量的作用域尽可能小,以...

    JavaScript的函数声明与应用

    本文将深入探讨JavaScript的函数声明与应用。 首先,我们需要理解函数声明的两种基本形式:函数声明(Function Declaration)和函数表达式(Function Expression)。函数声明是最常见的形式,它允许我们在任何地方...

    理解Javascript函数形式参数与arguments

    在预解析阶段,函数声明的变量和函数内部定义的变量都会被处理。在say函数中,我们可以看到msg和other两个变量被预解析了,然后在函数内部再次定义了这两个变量,并赋值为'hello'和'nice to meet you!'。 需要注意...

    JS函数总结

    表达式声明和函数声明存在区别,其中之一是它们在变量提升(hoisting)方面的行为不同。 另外,JavaScript支持立即执行函数表达式(IEF),这种模式允许函数在定义时立即执行: ```javascript (function() { // ....

    JavaScript中常见错误分析.pdf

    "JavaScript中常见错误分析" JavaScript是一种新型的描述语言,可以被嵌入HTML的文件之中,增加网页的互动性。透过JavaScript能及时响应用户的需求事件,对提交表单做即时的检查,而不用任何的网络来回传输资料。...

    javascript常用函数集合

    1. **变量声明**:在JavaScript中,我们可以使用`var`, `let`, 和 `const`来声明变量。`var`在函数作用域内,而`let`和`const`在块级作用域内。`const`用于声明不可变的常量。 2. **数据类型**:JavaScript有七种...

    JavaScript变量声明详解.pdf

    因此,当在函数内部使用变量并随后声明时,可能会导致意外的结果,这也是为何建议在函数开始时统一声明变量的原因。 为了提高代码的可读性和避免逻辑错误,最佳实践是遵循一定的书写规范,如在函数开始时一次性声明...

    js变量作用域

    如果在一个函数内部不使用`var`、`let`或`const`声明变量,则该变量会自动提升为全局变量。 **示例代码**: ```javascript function test() { val = 'hello!'; // 没有使用var声明,因此val是一个全局变量 } test()...

    javascript 闭包、匿名函数、作用域链

    全局作用域是最外层,所有未在函数内部声明的变量都属于全局作用域。当在函数内部查找变量时,如果当前作用域找不到,就会向上搜索作用域链,直到找到为止。如果全局作用域也找不到,那么就会抛出错误。以下是一个...

    JavaScript声明变量时为什么要加var关键字

    如果在一个函数外部声明变量,那么这个变量就是全局变量,它在全局范围内都是可见的。使用`var`声明的变量具有函数作用域或全局作用域,取决于它被声明的位置。 下面是一个关于作用域和变量声明的例子: ```...

Global site tag (gtag.js) - Google Analytics