var a = {} 与 var a = function(){} 的区别

var a = {}
此时a是一个对象,是一个没有任何属性的对象。
var a = {‘name‘:‘object‘}
此时a是一个对象,是一个有一个属性的对象,属性名为name,属性的值为object。
alert(a.name) 或者alert(a[name])的结果都是object,这是对象访问属性的两种方式。

var a = function(){}
此时a指向一个函数,相当于有一个函数,名为a,可以这么调用这个函数:
a()
只不过这个函数什么都没有做。
var a = function(){
alert(1);

}
此时a是一个函数,调用a()执行的是函数体,也就是 alert(1)

原文地址:https://www.cnblogs.com/zmwy/p/12151022.html

时间: 2024-10-18 03:21:38

var a = {} 与 var a = function(){} 的区别的相关文章

从var func=function 和 function func()区别谈Javascript的预解析机制

var func=function 和 function func()在意义上没有任何不同,但其解释优先级不同:后者会先于同一语句级的其他语句. 即: { var k = xx(); function xx(){return 5;} } 不会出错,而 { var k = xx(); var xx = function(){return 5;} } 则会出错. 为什么会这样呢?这就要引出javascript中的预解析机制来解释了. JavaScript解析过程分为两个阶段,一个是编译阶段,另外一个

1、function aa(){}和 var aa=function(){}的区别:

例如: alert(sum(10,10)); function sum(num1,num2){ return num1+num2; }//正常执行 备注:正常执行的那个,在代码开始执行之前,解析器就通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境中,对代码求值时,javaScript引擎在第一遍会声明函数并将它们放到源代码数的顶部 alert(sum(10,10)); var sum=function(num1,num2){ return num1+num2; }//报错 1.fu

JavaScript中Function Declaration与Function Expression 或者说 function fn(){}和var fn=function(){} 的区别

JavaScript是一种解释型语言,函数声明会在JavaScript代码加载后.执行前被解释,而函数表达式只有在执行到这一行代码时才会被解释. 在JS中有两种定义函数的方式, 1是:var aaa=function(){...} 2是:function aaa(){...} var 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用. function方式定义函数可以先调用,后声明. var func=function 和 function func()在意义上没有任何不同,但其

function func(){} 与 var func=function(){}的区别

1  var func =function(){}  ,即和 var 变量的特性 一样. func 变量名提前,但是不会初始化,直到执行到初始化代码. 2  function func(){}      变量名 和方法体  都会提前到 顶部执行. 实例: { var k = xx(); function xx(){return 5;}}不会出错,而{ var k = xx(); var xx = function(){return 5;}}

【转载】在Javascript中 声明时用"var"与不用"var"的区别

原文链接:http://www.2cto.com/kf/201204/128406.html[侵删] Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的 Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的.可以正常运行的代码并不代表是合适的代码. var num = 1: 是在当前域中声明变量. 如果在方法中声明,则为局部变量(local var

JavaScript中有var 和 没有 var 的区别

var web = $("#qianduan"); web.click(function(){ alert("哈哈哈"): }); 我们在创建一个变量的时候,一般都这样去写: var abc = 123; 同时当我们不写 var的时候也是可以创建变量的,JS高级程序中是这样写的: 在JS里的全局环境就是一个对象,这个对象也是JS运行的根,对浏览器中的JS,这个对象就是window对象.对全局JS语句来说,window对象就相当于当前作用域. 当我们写下: var M

关于Javascript中通过var关键字声明变量和function关键字声明函数的笔记

一.概念 1.变量声明 在JavaScript中,变量一般通过var关键字(隐式声明,let关键字声明除外)进行声明,如下通过var关键字声明a,b,c三个变量(并给其中的a赋值): var a=1,b,c; //关键字显式声明变量a,b,c,并给a赋值console.log(a); //1 //由于b,c未定义变量类型,因此输出"undefined"console.log(b); //undefinedconsole.log(c); //undefined //如果变量未声明,则输出

在Javascript中 声明时用"var"与不用"var"的区别,== 和 ===的区别

1. 在Javascript中 声明时用"var"与不用"var"的区别 Javascript声明变量时 var a = 111; 和 a = 111; 两种方式一样吗? var a = 11;function test4(){    var a = 22; } test4(); console.log(a); 结果是什么呢? 11 这个好理解, 函数内的var a声明是内部变量,这时结果是第一个a的值. 变动一下如下: var abc = 11;function 

在Javascript中 声明时用"var"与不用"var"的区别

Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种方式还是有区别的.可以正常运行的代码并不代表是合适的代码. var num = 1: 是在当前域中声明变量. 如果在方法中声明,则为局部变量(local variable):如果是在全局域中声明,则为全局变量. 而 num = 1: 事实上是对属性赋值操作.首先,它会尝试在当前作用域链(如在方法中声明,则当前作用域链代表全局作用域和方法局部作用域etc...)中解析 num: 如果在任何

JavaScript中变量声明有var和没var的区别

本文来论述JavaScript中变量声明有var和没var的区别,关于Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 (function(){ ... })(): 在函数内部,有var和没var声明的变量是不一样的.有var声明的是局部变量,没var的,声明的全局变量. 在全局作用域内声明变量时,有var 和没var看起来都一样,我们知道,声明的全局变量,就是window的属性,究竟是否一样,我们通过ECMAScrpit5提供的属性的特性查询方法,来发现之间的区