2016/07/22 Var变量声明、window的宽高属性、disable属性设置、过滤器

var 声明的作用,看以下两个例子:


if (! "a" in window){

    var a = 0;
}
alert(a);


if (! "a" in window){
     a = 0;

}

alert(a);


首先:js没有块级作用域,即if,for等语句里声明的变量和其外一层的变量的作用域是一样的(函数作用域,作用域的“局部"是相对于函数而言的)。

var i = 0;

if (i>0){

var j = 1;

}

实际上,在以上代码中,i,j的作用域是一样的。


例子一利用了var声明变量a,提示undefined

而例子二仅仅是给a赋值a=0,然而出现错误:Uncaught ReferenceError: a is not defined


这是因为在给一个变量声明时,变量的声明会在预编译阶段被提前到函数体的顶部,但变量的赋值不会。

因此 var a=0是已经声明了变量a,所以会出现undefined, 而a=0并没有声明变量a,所以会出现错误。



jQuery innerWidth() 和 innerHeight() 方法


innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。



onBlur:当失去输入焦点后产生该事件
onFocus:当输入获得焦点后,产生该文件
onchange:当文字值改变时,产生该事件
onselect:当文字加亮后,产生该事件
onClick:当组件被点击时产生的事件



js和jquery设置disabled属性为true使按钮失效


设置disabled属性为true即为不可用状态。

JS
document.getElementByIdx("btn").disabled=true;

jquery
$("#btn").attr("disabled", true);

html
<input type="button" value="提交" id="btn">




输出对象中值大于2的key的数组
var data = {a: 1, b: 2, c: 3, d: 4};
Object.keys(data).filter(function(x) { return 1 ;})
期待输出:[“c”,”d”]


这是对js过滤器,以及获取对象属性的应用;
通过Object.keys(data)获取data中的属性数组;
对属性数组进行过滤器的操作,在filter中进行一定条件的判定,如数值大于2,而过滤器就将不符合条件的数据过滤掉,返回符合条件的属性
Object.keys(data).filter(、
function(x) { 
    return data[x]>2;
})


 
1
2
3
4
5
6
7
var person={fname: "John" ,lname: "Doe" ,age:25};
var txt= "" ;
for(x in person)
{
   txt=txt + person[x];
}
alert(txt);
像fname,lname,age这些后面跟着冒号的,都是对象,冒号后面跟着的可以是属性,也可以是方法
另外:for-in语句,用来枚举person对象的属性。
for-in语句能够枚举对象的自定义属性和原型链属性,而hasOwnProperty只能获取自定义的属性


关于Javascript中数字的部分知识总结:
1.Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量。基本类型变量用八字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值,引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)。
2. JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值