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. CF444C. DZY Loves Colors[线段树 区间]

    C. DZY Loves Colors time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  2. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

    http://dl.bintray.com/sequenceiq/sequenceiq-bin/ http://www.secdoctor.com/html/yyjs/31101.html

  3. Eclipse添加JPDL4 Schema校验

    由于jbpm官方提供的图形化流程设计器(GPD)功能并不是特别的全面,很多设计并不能全在图形界面下完成.因此,在很多情况下,我们需要直接编辑JPDL的XML源代码,所以, 最好为JPDL XML指定S ...

  4. MVC模式在UI里的应用

    In a similar way to other parts of a game, user interfaces usually go through several iterations unt ...

  5. webpack ---loader,plugin下载命令

    css-loader:  cnpm install style-loader css-loader url-loader babel-loader sass-loader file-loader -- ...

  6. linux进阶1

    1.linux命令 1.1.find功能:在linux文件系统中,用来查找一个文件放在哪里了.举例:find /etc -name "interfaces"总结:(1)什么时候用f ...

  7. 用 CSS 隐藏页面元素

    用 CSS 隐藏页面元素有许多种方法.你可以将 opacity 设为 0 将 visibility 设为 hidden 将 display 设为 none 将 position 设为 absolute ...

  8. 冰冻三尺非一日之寒--rabbitMQ,redis

    第11章 1.rabbitMQ   2. redis 一.rabbitMQ: 人们写了有好多好多的开源的MQ服务器.其中大多数都是写出来用来解决特定问题的.它们不关心上面跑的是什么类型的消息,设计思想 ...

  9. Angular指令渗透式理解

    通过一段时间对angular指令的使用,理解了angular指令的意义,下面逐一介绍一下. ng-app:定义一个angualr模块,表示angular作用的范围,如下代码: ng-app在html标 ...

  10. java集合学生管理系统

    //student.java package com.sran.www; import java.util.Arrays; import java.util.Scanner; public class ...