发表于: 2017-06-12 23:12:57

1 1097


今日所做:

1.修改一下上传图片的bug

2.使用input【type=file】不可以使用ng-change或onchange,

只可以使用angular.element(this).scope().function();

这会导致angular作用域中的变量值变化难以实时触发ng-hide等功能,

由于这个缘故,将效果做了一下改变,即最初即显现两个按钮,

只不过不传图片的情况下,点击上传会有提示,点击删除没有效果

3.查了一下关于执行环境的知识:
①js的变量和函数声明都会被存储到执行上下文的变量对象(或活动对象)中,即声明提前,
声明提前是什么意思呢,就是在一个函数中,如果var a=3;放在了最后一行,那么在这个函数的最前面,
会先对a这个变量进行声明,即多出一行var a;这个时候还没有赋值,那么如果在给a赋值之前打印a,就会
得到undefined
②函数声明的优先级会高于变量的优先级,但不会覆盖变量的值(个人理解:自己在demo的时候,函数声明的优先级确实会高于变量声明的优先级,也就是直接声明var a;和function a(){};打印a的话会显示a是个函数,但是如果后面对a进行了赋值,即a=5;那么最后打印出来的会是5,而不会是函数,这个原因非常关键:要知道当我们用var给一个变量声明的时候,我们是在给这个变量分配一个作用域,这个作用域就是离当前变量最近的作用域,上面这个例子赋值是用的var a=5;相当于给把a的作用域定在了这个函数的内部,而function声明没有用var,因此这种声明本质上就和不用var直接给变量赋值一样,是将变量的作用域定在了全局上,这样的话如果在函数内部打印a的话,作用域链会从前端开始找,也就是先找到用var赋值的a,所以打印出来会是a=5;

明日计划:

查看文本编辑器

学习一下之前遗留下来的概念的问题

今日收获:

做了几波demo,对执行环境有了更加深入的了解


返回列表 返回列表
评论

    分享到