前端练习小记

来源:互联网 发布:mac如何全选照片 编辑:程序博客网 时间:2024/06/05 12:39

1.短路或  如果第一项是true 则结果为true 如果第一项为false 结果 为第二项(第二项不做计算直接返回)

2.

本身数组就是对象
这里要理解所谓‘数组’其实是array类型对象的一个特殊作用,就是:我们可以对它进行一种模式的数据存储,但除此之外,它依然是一个对象

var arr = [‘1’,‘2’] //这本质上是一系列操作:得到一个数组对象;调用了它的数组方法存入了一些数据,arr.length根据存入数据的数目被修改

arr.length,对arr对象的length属性进行一个访问

arr.foo = 'hello' 对arr对象创建一个属性,所以.foo 跟.length地位是并列的:就是arr的一个属性,同时arr的数组方法跟这些属性是毫不相关的

3.若需给子scope发送消息,需使用哪个方法     

Angular 的知识,没有$send.

$emit只能向parent controller传递event与data

$broadcast只能向child controller传递event与data

$on用于接收event与data

发送消息: $scope.$emit(name, data) 或者 $scope.$broadcast(name, data);

接收消息: $scope.on(name,function(event,data){ });

区别: $emit 广播给父controller   $broadcast 广播给子controller

broadcast 是从发送者向他的子scope广播一个事件。

$emit 广播给父controller,父controller 是可以收到消息

$on 有两个参数function(event,msg)  第一个参数是事件对象,第二个参数是接收到消息信息

4.在一个表单中,如果想要给输入框添加一个输入验证,可以用下面的哪个事件实现?

fn用于校验

hover(over ,out)     模仿悬停事件,即当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。
B keypress(fn)      在每一个匹配元素的keypress事件中绑定一个处理函数
change()        调用执行绑定到change事件的所有函数,包括浏览器的默认行为。
D change(fn)    给所有的文本框增加输入验证
5.非严格模式下写出下面表达式结果:

parseInt(“123a”)= 123

parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。

6.输出对象中值大于2的key的数组

var data = {a: 1, b: 2, c: 3, d: 4};
Object.keys(data).filter(function(x) { return 1 ;})
期待输出:[“c”,”d”]

Object.keys(Object)
Array.filter(function)
Object是包含属性和方法的对象, 可以是创建的对象或现有文档对象模型 (DOM) 对象。
Object.keys(object)的返回值是 一个数组,其中包含对象的可枚举属性和方法的名称。
Array.filter(function)对数组进行过滤返回符合条件的数组。
Object.keys(data)的返回值为数组["a","b","c","d"],经过 filter(function(x) { return ; })过滤,返回值大于2的key的数组。x为返回数组的属性名称即“a"、"b"、"c"、“d”,则对应的属性值为data[x],比较语句为data[x]>2。



0 0