1.对于javascript中的this关键字,表示的是当前代码所处的对象。

var a={
get:function(){
this.val=12
} } console.log(a.val);
a.get();
console.log(a.val);

a是一个对象,注意一点,get并不是一个对象(其实也不对,javascript中万物皆为对象,但这样比较容易理解和记忆),而是a的一个属性,根据对this的定义,this所处的代码的对象正是a,所以this代表a对象。

function my(){
this.name='迪迦'
} console.log(new my().name);

再比如这个例子,my是一个函数,但也是一个对象,this所处的代码的对象就是new my()之后的对象。

再举一个更明显的例子:

var obj={};
obj.click=function(){
this.name='xx';
}
obj.click()
console.log(obj.name)

obj是一个对象,而click是obj的一个属性,this所处的代码的对象指向的是obj,所以this代表obj;

2.如果需要向一个setInterval或者settimeout的执行函数传值,一般有如下做法:

setInterval("myFun("+arg+")",1000)

这样会显得很乱,比较合适的方式是利用闭包:

function myFun(age){
setInterval(function(){
console.log(age);
},1000)
}; myFun(15);

之所以能够这么做就是利用了闭包的特性:内层函数可以访问外部函数的变量,即使外层函数已经终止。

3.尝试使用所有对象的constructor属性,可以发现,javascript中所有的对象(包括函数)的构造器都是Function函数,也就是说不管是预定义的Object、Array对象,还是你自

定义的function也好,他们都是由Function函数构造的,有一点除外,那就是如果一个对象是你自定义的对象,比如:

var obj=function (){
this.name='xx';
}
console.log(new obj().constructor==obj)

那么这个构造函数就是自定义的obj,而不是Function函数。

javascript学习笔记-3的更多相关文章

  1. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  2. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  4. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  5. Java程序猿JavaScript学习笔记(4——关闭/getter/setter)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  6. Java程序猿JavaScript学习笔记(14——扩大jQuery UI)

    计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...

  7. javascript学习笔记(四) Number 数字类型

    数字格式化方法toFixed().toExponential().toPrecision(),三个方法都四舍五入 toFixed() 方法指定小数位个数  toExponential() 方法 用科学 ...

  8. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  9. JavaScript学习笔记[0]

    JavaScript学习笔记[0] 使用的是廖雪峰JavaScript教程. 数据类型 Number 表示数字,不区分浮点整形. === 比较时不转化数据类型. == 反之. NaN与任何值都不想等, ...

  10. Java程序猿的JavaScript学习笔记(1——理念)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

随机推荐

  1. taskctl 软件集群安装部署

    TASKCTL的集群部署实际上是通过Server服务节点和多个Agent代理节点部署在网络环境中来实现的.在完成之前的单机部署之后,我们已经成功安装了一个Server节点了.接下来我们再介绍一下怎么安 ...

  2. MySQL Database Command Line Client

    .输入密码:****** 1.1.create datatable Name;创建数据库 1.2.source D://taotao.sql; source后面加sql文件是批量导入sql语句 .ue ...

  3. javascript事件循环机制 浅尝手记

    引入 众所周知Javascript是一个单线程的机制,虽然可以依托多线程的浏览器实现页面如何实现页面复杂的渲染.事件响应,但仍不会改变其单线程的本质:所以对于js的事件循环机制的了解是一个前端人员的必 ...

  4. 常用 Http 的请求方法

    第一次用markdown写博客,体验下 因为常用Http的几种请求方式,总结一下. 1.封装两个Http的最常用方法,叫做HttpHelper类. HttpPost: public static st ...

  5. Selenium 新窗口处理方法

    有时点击一个链接,跳到一个新的窗口,这时WebDriver需切换到新窗口,才能对新窗口的元素进行操作 这里封装一个switchToWindow方法: public boolean switchToWi ...

  6. c++类与初始化,const

    --c++类与初始化,const --------------------------------2014/09/04 1. 类的定义(头文件.声明文件)看成类的外部接口,一般写成.h头文件. 2. ...

  7. Mac实用操作技巧(三)

    远程协助 很多场景下需要用到远程协助,比如你遇到了某个搞不定的bug需要他人帮助,但是别人却不在身边,这时就需要别人通过网络来远程协助你解决问题.在Windows下有不少优秀软件,比如TeamView ...

  8. flex详解

    布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 一.Flex布局是什么? Flex ...

  9. 一篇深入剖析PCA的好文

    主成分分析(Principal components analysis)-最大方差解释 在这一篇之前的内容是<Factor Analysis>,由于非常理论,打算学完整个课程后再写.在写这 ...

  10. Maven详解(二)------ Maven的安装配置

    1.下载 Maven ①.官网下载地址:http://maven.apache.org/download.cgi ②.百度云盘:http://pan.baidu.com/s/1eS1NVYa 密码:9 ...