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等的差异。
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;
})
另外:for-in语句,用来枚举person对象的属性。
for-in语句能够枚举对象的自定义属性和原型链属性,而hasOwnProperty只能获取自定义的属性
关于Javascript中数字的部分知识总结:
1.Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量。基本类型变量用八字节内存,存储基本数据类型(数值、布尔值、null和未定义)的值,引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)。
2. JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异。
相关文章推荐
- 公共jquery库/常用前端公共库CDN服务推荐
- CodeForces 489A SwapSort (选择排序法)
- Java NIO使用及原理分析 (一)
- android studio recyclerview基础 自定义列表样式
- css属性书写顺序分析
- POJ 2069 Super Star
- hdu5724Chess+SG博弈
- Dialogs(对话框)
- r语言之矩形树状图
- (POJ1325)Machine Schedule(二部图最大匹配)
- Java设计模式-工厂模式
- 8086汇编语言自学经验分享 新手汇编源代码---多段实例
- scanf()函数
- 基础知识
- CSVs in Python
- 【杭电2124】Repair the Wall
- Java调用C++ API完整示例(dll)
- NYOJ263精挑细选
- Java wait(long arg)方法的使用
- Ubuntu 设定壁纸自动切换的shell脚本