javascript 变量、常量 、 函数 声明

声明变量

方式一: 使用 var 定义变量,可在定义的同时赋值 或 不赋值 。

方式二: 直接使用【变量名 = 值】的形式,这会定义一个全局变量,但在严格模式下会出现引用错误。【不建议使用】

方式三:使用 let 定义变量,此方式可以用来声明块作用域的局部变量(block scope local variable) 。

声明常量

关键字为  const 

语法: const  PI = 1.1313131;

通常使用名称全大写的形式,其值不可改变,且必须在定义时赋值。

注: 使用 let 或 const 定义的变量并不会出现【变量提升】,如果在未定义前使用变量,则会出现【引用错误】。

函数的 2 种形式:

一:声明式函数(也叫命名函数,通俗叫有名称的函数)

语法 : 

function getName(){

执行代码块;

}

注:函数可带参数 或 返回值,也可不带。若有参数,调用函数时则需要添加对应参数。若有返回值,则在调用函数时,应提供一个容器(如变量)接收返回值 。

二:函数表达式(也叫匿名函数,通俗叫没有名称的函数)

语法:

var fun = function(){

执行代码块;

}

注:以上例子中,fun 即为 变量名称 ,也为函数名称,当使用 fun 相当于得到整个函数体,当使用 fun() 相当于调用此函数 。

var fun = function(){
console.log(111);
}
fun();

--》 111

var bb = fun;
console.log(bb);

--》   

注: 函数提升,只有声明式(命名)函数能够提升,表达式(匿名)函数没有提升。

时间: 2024-11-10 17:25:35

javascript 变量、常量 、 函数 声明的相关文章

JavaScript 中对变量和函数声明的提前示例

如题所示,看下面的示例(可以使用Chrome浏览器,然后F12/或者右键,审查元素.调出开发者工具,进入控制台console输入)(使用技巧: 控制台输入时Shift+Enter可以中途代码换行) var name = "xiaoming"; (function(){ var name = name || "小张"; console.info(name); })();// 小张 (function(){ name = name || "小张";

JavaScript(1)——变量、函数声明及作用域

这是我的第一篇博客文章,本人不才,文笔也不好,所以可能写的有点凌乱.有什么不对的地方还望见谅.不过每天进步一小步,总有一天会迈出那一大步.以下内容是我对变量.函数声明及函数表达式.作用域的理解. [变量]大意上来讲,变量就是所定义的一个可以用来保存值的占位符.定义变量时要使用var操作符. 变量所保存类型可以被改变,但不建议. var操作符定义的变量将成为该变量的作用域中的局部变量,在函数退出后,变量将被销毁. 若省略var操作符可以定义全局变量,不过在严格模式下会导致抛出ReferenceEr

深入理解javascript的作用域--函数声明为什么会前置

标签: javascript函数对象 这篇博文解决了以下迷惑 函数声明为什么前置 函数声明前置和变量前置优先级问题 为什么js文件开头就可以使用Math,String等库,而不需要导入头文件 1.变量对象VO 变量对象(Variable Object, 缩写为VO)是一个抽象 概念中的"对象",它用于存储执行上下文中的: 1. 变量 2. 函数声明 3. 函数参数 js解释器就是通过变量对象(VO)来找到我们定义的变量和函数的. 举个例子: var a = 10; function t

【JavaScript】Javascript中的函数声明和函数表达式

Javascript有很多有趣的用法,在Google Code Search里能找到不少,举一个例子: <script> ~function() { alert("hello, world."); }(); </script> 试一下就知道这段代码的意思就是声明一个函数,然后立刻执行,因为Javascript中的变量作用域是基于函数的,所以这样可以避免变量污染,但这里的位运算符『~』乍一看让人摸不到头脑,如果去掉它再运行则会报错:SyntaxError. 在阐述

JavaScript 中对变量和函数声明的“提前(hoist)”的那些事儿

变量声明“被提前” JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对“先声明.后使用”的规则很熟悉,如果使用未经声明的变量或函数,在编译阶段就会报错.然而,JavaScript 却能够在变量和函数被声明之前使用它们.下面我们就深入了解一下其中的玄机. 先来看一段代码: (function() { //ReferenceError: noSuchVariable is not defined console.log(noS

(转)JavaScript 中对变量和函数声明的“提前(hoist)”

变量声明“被提前” JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对“先声明.后使用”的规则很熟悉,如果使用未经声明的变量或函数,在编译阶段就会报错.然而,JavaScript 却能够在变量和函数被声明之前使用它们.下面我们就深入了解一下其中的玄机. 先来看一段代码: (function() { //ReferenceError: noSuchVariable is not defined console.log(noS

JavaScript中变量和函数声明的提升

现象: 1.在JavaScript中变量和函数的声明会提升到最顶部执行. 2.函数的提升高于变量的提升. 3.函数内部如果用var声明了相同名称的外部变量,函数将不再向上寻找. 4.匿名函数不会提升. 5.不同<script>块中的函数互不影响. 例子: 函数声明提升高于变量声明 //同时声明变量a和函数a var a; function a() {} alert(typeof a); //显示的是"function",初步证明function的优先级高于var. //先声

JavaScript 中对变量和函数声明的“提前(hoist)”

hoist vt.升起,提起; vi.被举起或抬高; n.起重机,升降机; 升起; <俚>推,托,举; 这篇文章不讲英语,但是对于某些英语单词找不到很好的翻译,一上来就列出“hoist”这个单词的释义是为了让大家有个准备,我在这里将此单词翻译为“提前”,是为了解释 JavaScript 语言中很“古怪”的一个特性. 变量声明“被提前” JavaScript 的语法和 C .Java.C# 类似,统称为 C 类语法.有过 C 或 Java 编程经验的同学应该对“先声明.后使用”的规则很熟悉,如果

var、let、const与JavaScript变量/常量的定义

早期的JavaScript中,声明变量只能使用var关键字定义变量,并没有定义常量的功能.通过var关键字定义的变量,其作用域只能函数级或是全局作用域,并没有块级作用域.ES6(ECMAScript 2015)对这一问题做了改善,增加了用于定义块级变量的let关键字和用于定义常量的const关键字. var定义变量 1.1 语法及说明 1.2 使用及特点 let定义块级变量 2.1 语法及说明 2.2 与var的异同 const定义常量 1. var定义变量 1.1 语法及说明 var关键字用于

JavaScript 变量、函数与原型链

定义 || 赋值 1-函数的定义 函数定义的两种方式: “定义式”函数:function fn(){ alert("哟,哟!"); } “赋值式”函数:var fn = function(){ alert("切可闹!"); } @页面加载时,浏览器会对JavaScript代码进行扫描,并将 定义式函数进行预处理(类似C等的编译).[函数声明提升] 处理完再由上至下执行,遇到赋值式函数 则只是将函数赋值给一个变量,不进行预处理,待调用时才进行处理. @在定义前面调用函