• JS中的变量和函数


    变量概述

    1、变量是用于存储信息的"容器"。
    2、变量必须以字母开头;变量也能以 $ 和 _ 符号开头(不推荐);变量名称对大小写敏感(y 和 Y 是不同的变量)。

    怎么声明变量并赋值?

    var 变量名;
    变量名 = 值;

    var i = 100;
    i = false;
    i= "abc";
    i = new object();
    
    弱类型语言

    JavaScript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。

    一条语句,多个变量

    1、在一条语句中可以声明很多变量。该语句以 var 开头,并使用逗号分隔变量即可。

    var lastname="yu", age=20, job="programmer";
    

    2、声明也可横跨多行

    var lastname="yu",        
    age=20,        
    job="programmer";
    
    Value = undefined

    1、在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是undefined。在执行过以下语句后,变量name的值将是undefined。
    2、通俗点说:当一个变量没有手动赋值的时候,系统默认赋值undefined(这是一个具体的值)。

    var i;
    alert("i = "+i);
    

    在这里插入图片描述

    alert(undefined);
    

    在这里插入图片描述

    重新声明变量

    如果重新声明 JavaScript 变量,该变量的值不会丢失。
    在以下两条语句执行后,变量a的值依然是 "awqer"。

    var a = "awqer";
    var a;
    alert(a);
    

    在这里插入图片描述

    没有声明变量直接访问
    alert(x);
    

    页面不会出现错误,在控制台会出现语法错误:
    x is not defined

    函数

    JavaScript函数语法

    函数就是包裹在花括号中的代码块,前面使用了关键词 function。
    第一种:

    function functionname(argument1,argument2...)
    {
    执行代码
    }
    

    第二种:

    functionname = function(argument1,argument2...){
    	执行代码
    }
    

    1、当调用该函数时,会执行函数内的代码。
    2、可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。
    3、JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。
    4、function 中的花括号是必需的,即使函数体内只包含一条语句,仍然必须使用花括号将其括起来。

    • JS中的函数有重载吗?
      JS当中的函数在调用的时候,参数的类型和个数都没有限制,所以不存在重载(弱类型)。
    • 函数名不能重名
      当函数重名的时候,后声明的函数会将之前声明的同名函数覆盖。
    带有返回值的函数

    1、有时,我们会希望函数将值返回调用它的地方。通过使用return语句就可以实现。在使用return语句时,函数会停止执行(JS代码还是继续执行),并返回指定的值。

    function myFunction()
    {
    var x=5;
    return x;
    }
    

    2、仅仅希望退出函数时 ,也可使用 return 语句。

    function myFunction(a,b)
    {
    if (a>b)
     {
     return;
     }
    x=a+b
    }
    

    如果 a 大于 b,则上面的代码将退出函数,并不会计算 a 和 b 的总和。

    全局变量和局部变量

    局部变量

    1、在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它。(该变量的作用域是局部的)。
    2、可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
    只要函数运行完毕,本地变量就会被删除。
    3、局部变量比同名全局变量的优先级高,所以局部变量会隐藏同名的全局变量。

    全局变量

    1、在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
    2、全局变量会一直在浏览器的内存当中,直到页面关闭,比较耗费内存空间。

    变量的生存期

    1、JavaScript 变量的生命期从它们被声明的时间开始。
    2、局部变量会在函数运行以后被删除。
    3、全局变量会在页面关闭后被删除。

    向未声明的变量分配值

    1、如果把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
    2、这条语句:name="yu";将声明一个全局变量name,即使它在函数内执行。

  • 相关阅读:
    分析现有 WPF / Windows Forms 程序能否顺利迁移到 .NET Core 3.0(使用 .NET Core 3.0 Desktop API Analyzer )
    .NET 命令行参数包含应用程序路径吗?
    WPF 多线程 UI:设计一个异步加载 UI 的容器
    .NET/C# 使用反射调用含 ref 或 out 参数的方法
    .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
    .NET/C# 使用反射注册事件
    都是用 DllImport?有没有考虑过自己写一个 extern 方法?
    好的框架需要好的 API 设计 —— API 设计的六个原则
    Netty源码学习(七)FastThreadLocal
    Netty源码学习(六)ChannelPipeline
  • 原文地址:https://www.cnblogs.com/yu011/p/13532197.html
Copyright © 2020-2023  润新知