您的位置:首页 > 其它

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

2016-07-22 20:37 211 查看
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;

})

 

像fname,lname,age这些后面跟着冒号的,都是对象,冒号后面跟着的可以是属性,也可以是方法

另外:for-in语句,用来枚举person对象的属性。

for-in语句能够枚举对象的自定义属性和原型链属性,而hasOwnProperty只能获取自定义的属性

关于Javascript中数字的部分知识总结:

1.Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量。基本类型变量用八字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值,引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)。

2. JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: