1)常用的命名规范:
    aXXXX:aBtn 说明获取的是一组元素;--类数组
    oXXX:oBtn 说明获取的是一个元素-》对象
        对象有两个重要的特点:属性 和 方法;
        属性和方法的区别:属性没括号 方法有括号
    bxxx:bOk 代表布尔值 true、false
    reg/re :代表正则;
    str:字符串
    ary/arr/array:数组
2)带var和不带var的区别:
带var:1)在全局作用域下,变量相当于window的全局属性 2)带var会进行预解释
不带var:1)相当于window的全局属性 2)重要:不带var不会进行预解释;
3)预解释无节操:
    1)只对等号左边带var的声明,但不定义;
    2)自执行函数不会进行预解释,只有执行到他的时候,声明+定义+调用同步完成
    3)已经声明过的变量,不会进行重复声明
    4)return后面的语句不会进行预解释,return下面的语句,虽然不执行,但会进行预解释;
    5)条件判断语句中:无论条件是否成立,都会进行预解释
        警示:不要在条件判断语句中,写函数的定义阶段
4)在预解释的时候,函数的优先级>变量
5)运算符的优先级:算术运算符》比较运算符》逻辑运算符》赋值运算符
    所以,以后遇到赋值的时候,一定要加括号;
6)点击任何一个按钮的时候,弹出他对应的索引:
          1)自定义属性解决方式->本质:把正确的i值保存到对象的私有属性上;
          2)闭包-》本质:把正确的i值保存到不同的私有作用域中;
7)关于this的用法:
    1.当元素身上的事件被触发的时候,会执行一个函数,函数中的this,指向当前这个元素
    2.函数被调用的时候,看前面是否有点,点前面是谁,this就是谁;如果没有点,默认是被window调用的;
    3.自执行函数中的this都是window;
8)内存和内存释放:
内存主要包含:堆内存和栈内存;
栈内存:全局作用域和私有作用域;
       作用:提供了一个供JS代码执行的环境;里面放的是基本数据类型的数据;
堆内存:作用:就是用来存放引用数据类型的数据:
       对象数据类型:存放的是属性名和属性值;
       函数数据类型:把函数体中的所有JS代码,作为字符串存在堆内存空间中
内存释放:
    堆内存的释放:让变量指向空指针;
    var obj={key:value}; obj=null;
    栈内存的释放:
        全局作用域:形成:当浏览器加载完页面的时候,会形成一个供JS代码执行的全局作用域;
                  释放:关闭页面、关闭浏览器;
        私有作用域:形成:函数被调用的时候;
        一般情况下,当函数执行完成的时候,都会默认进行释放,但是两种特殊情况除外:
            1)不释放:当函数体中的任何东西,被外面的变量或者其他东西占用的时候,该函数不释放;
            2)不立即释放:当函数执行完成的时候,返回一个需要执行的函数;需要等待所有的函数都执行完成的时候,该函数才能释放;例如fn( )( )
一般有三种情况:
①函数执行返回了一个引用数据类型的值,并且在函数的外面被一个其他的东西接收了,这种情况下一般形成的作用于都不会被销毁;
②在一个私有作用域中给DOM元素的时间绑定方法,一般私有作用域不销毁;
③不立即销毁
 
9)上级作用域:跟函数在哪里调用无关,只跟该函数对应的堆内存在哪里开辟有关;
10)
++i:先++,再运算
i++:先运算,再++;再++的时候,只是自身的增加,跟运算无关;
..................................................................
例题: 
var n=[12,34,56,8];
function fn(a){

    a[0]=100;
    a=[];
    a[a.length]=300;
    console.log(a);
}
fn(n);

HK&&CC JS学习:第一周——NO.2this的更多相关文章

  1. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

    [吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电 ...

  2. 201671010140. 2016-2017-2 《Java程序设计》java学习第一周

       java学习第一周        本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方 ...

  3. Java学习第一周

    第一周学习了JDK的安装和环境的配置,初步了解了Java与C的不同之处,学习了Java的变量.基本数据类型.以及面向对象的基础.并且自行完成了一些简单Java程序的编写. (1)学习了为什么使用抽象类 ...

  4. 20165213 java学习第一周

    20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...

  5. Java学习第一周博客

    20145307<Java程序设计>第一周学习总结 教材学习内容总结 首先学习安装Java有两种方法,一种是用Eclipse直接编辑输出,另一种方法是用记事本之后用win+G开启cmd运行 ...

  6. H5学习第一周

    已经接触H5一个周了,经过学习,总算对H5有了一些了解和认知,下面就总结一下我对H5的认知和感悟. 首先接触的是H5的常用标签[meta],它有其以下常用属性 1.charset属性.单独使用,设置文 ...

  7. Three.Js学习第一天

    因为工作需求,最近接触到了ThreeJs库,国内学习文档的确少,所以在这里写下bolgs记录学习史,并且给后面学习的人尽一份微博之力. 3D场景依靠WebGL技术.目前支持比较好的浏览器,谷歌.火狐. ...

  8. linux学习第一周

    1. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别 2. 安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图. 3. 配置环境变量,实现执行hi ...

  9. Java学习第一周心得体会

    一周的学习很快就过去了,说说我个人的总结吧! 下面几个是我觉得需要牢牢记住的 1.Java的执行机制:先编译.再解释 2.变量以及基本数据类型 3.强类型编程语言:要求变量的类型与值的类型要一致 4. ...

随机推荐

  1. Utils

    import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.collections.CollectionUtils ...

  2. 第1章 重构,第一个案例(3):运用多态取代switch

    3. 运用多态取代与价格相关的条件逻辑 3.1 switch和“常客积分”代码的再次搬迁 (1)switch:最好不要在另一个对象的属性上运用switch语句 switch(getMovie().ge ...

  3. Intellij Idea中定制getter setter的模板

    Alt + Ins, 调出快捷菜单后选择 Getter and Setter, 在对话框里, 选择对应的template, 右侧点开后, 可以新建自己的模板并编辑 将getter和setter都生成到 ...

  4. sql case 用法总结

    快下班了,抽点时间总结一下sql 的 case 用法. sql 里的case的作用: 用于计算条件列表的表达式,并返回可能的结果之一.sql 的case 类型于编程语言里的 if-esle if-el ...

  5. 生成 PDF 全攻略【2】在已有PDF上添加内容

    项目在变,需求在变,不变的永远是敲击键盘的程序员..... PDF 生成后,有时候需要在PDF上面添加一些其他的内容,比如文字,图片.... 经历几次失败的尝试,终于获取到了正确的代码书写方式. 在此 ...

  6. 吉特仓储管系统(开源WMS)--分享两月如何做到10W+的项目

    在此文开篇之处先特别申明,此文在有些人的眼中会有广告的嫌疑,但是本人不想将其作为一个广告宣传的文章,在此提到软件内容部分请大家予以谅解和包含,作为时间不算短的程序员给大家分享一些自己开发吉特仓储管理软 ...

  7. 跟我从零基础学习Unity3D开发--资源打包篇(AssetBundle)

    好久没更新了,一直在加班敢项目进度.这里和关注我的博客的童鞋表示一下歉意!这里有我录的Unity3D从零开始的视频教程大家可以关注一下:http://www.imooc.com/view/555  视 ...

  8. 对.net技术组件的分析和选择

    .net很庞杂,学习最忌讳什么?为了学而学,而不是为了用而学.我们不是为了成为教师,所以不要成为书呆子,不要成为"博士",要从庞杂的技术群中选择自己需要的内容进行学习. 如果不加选 ...

  9. 移动web开发—页面头部 META 总结

    meta指元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. 标签位于文档的头部,不包含任何内容. 标签的属性定义了与文档相关联的名称/值对. ...

  10. H5项目常见问题汇总及解决方案(果断复制粘贴,不解释)

    H5项目常见问题及注意事项 Meta基础知识: H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 //一.HTML页面结构 <meta name="viewport" co ...