首页 > 编程语言 > 详细

javascript笔记

时间:2015-11-15 14:48:07      阅读:247      评论:0      收藏:0      [点我收藏+]

js数据类型分为:基本类型:数字、字符串、布尔值、undefined和null

        非基本类型(即对象)(或引用类型):数组,对象等

一、变量属性
var a=[];
a[0]=1;
a[‘foobar‘]=2;

console.log(a.length);//1

console.log(a.foobar);//2
当一个变量被声明后。扩充其属性并不改变原数据类型

二、命名提升

foo();
var foo=0;
function foo(){
  console.log(1);
}
foo=function(){
  console.log(2);
};
声明的变量和命名函数都会被提升到代码的最前面,只不过声明的变量的赋值语句在代码中的位置不变。所以上面代码应该被理解为:

var foo;
function foo(){
  console.log(1);
}
foo();
foo=0;
foo=function(){
  console.log(2);
};
输出结果:1

三、作用域

foo();
var a=true;
if(a){
  function foo(){
    console.log(‘a‘);
  }
}else{
  function(){
    consoloe.log(‘b‘);
  }
}

javascript并不是以代码段为作用域,而是以函数。再根据命名提升原则,所以代码改写为:

function foo(){
  console.log(‘a‘);
}
function foo(){
  console.log(‘b‘);
}
foo();
var a=true;
if(a){
}else{
}
结果:b

 

javascript笔记

原文:http://www.cnblogs.com/hujiapeng/p/4966391.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!