函数定义的三种方式与特点:
1.函数声明;(特点:会被前置;重复定义函数时,最后一次定义有效。)
2.函数表达式;
3.函数实例化;(特点:只能访问本地作用域与全局作用域!!!)

/* 对象实例化定义函数的特点 */
var person = {name:"刘德华", age:50};
(function(){
var person = {name:"刘德华", age:30};
(function() {
var person = {name:"刘德华", age:10};
console.log(person.name+person.age+"岁");
})()
})();
// -->输出10岁的刘德华,变量逐级向上回溯。 var person = {name:"刘德华", age:50};
(function(){
var person = {name:"刘德华", age:30};
var func = new Function("console.log(person.name+person.age+'岁');");
func();
})(); //-->如果new Function()里面有10岁的刘德华,则为10岁的,否则直接50岁的。

 函数调用:

1.函数调用模式; add(1)
 2.方法调用模式; myNumber.add(1)
 3.构造函数调用模式; new Function(...)

// /* 函数调用模式(this) */
function add(i,j){
console.log(this); // --> window
console.log(arguments); //--> [1,2]
(function(){
console.log(this); // --> window
})();
var sum = i+j;
return sum;
}
add(1,2); var myNumber = {
value: 1,
add: function(i){
console.log(this); // --> {value:1,add:function(){}}
var helper = function(i){
console.log(this); // --> window
this.value += i; //所以这个实现不了;
}
helper(i);
}
}
myNumber.add(1);

  

 

【前端学习笔记】函数定义、函数调用、this的更多相关文章

  1. 【前端】Web前端学习笔记【2】

    [2016.02.22至今]的学习笔记. 相关博客: Web前端学习笔记[1] 1. this在 JavaScript 中主要有以下五种使用场景 在全局函数调用中,this 绑定全局对象,浏览器环境全 ...

  2. 【前端】Web前端学习笔记【1】

    ... [2015.12.02-2016.02.22]期间的学习笔记. 相关博客: Web前端学习笔记[2] 1. JS中的: (1)continue 语句 (带有或不带标签引用)只能用在循环中. ( ...

  3. Web前端学习笔记(001)

    ....编号    ........类别    ............条目  ................明细....................时间 一.Web前端学习笔记         ...

  4. 《python基础教程(第二版)》学习笔记 函数(第6章)

    <python基础教程(第二版)>学习笔记 函数(第6章) 创建函数:def function_name(params):  block  return values 记录函数:def f ...

  5. web前端学习笔记

    web前端学习笔记(CSS盒子的定位) 相对定位 使用相对定位的盒子的位置常以标准流的排版方式为基础,然后使盒子相对于它在原本的标准位置偏移指定的距离.相对定位的盒子仍在标准流中,它后面的盒子仍以标准 ...

  6. python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程

    python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...

  7. 九天学会Java,第五天,函数定义函数调用

    变量和数据类型,赋值和输出 算术运算 选择结构 循环结构 函数定义,函数调用 变量作用域 栈,程序运行的基石 面向对象 异常处理 语言提供的公用包 什么是函数,为什么有函数,大家可能有这样的疑问. 举 ...

  8. 前端学习笔记之JavaScript

    JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客 ...

  9. 《C# 语言学习笔记》——定义属性

    属性定义的方式与字段类似,但包含的内容比较多. 属性拥有两个类似于函数的块,一个块用于获取属性的值,另一个块用于设置属性的值.这两个块也称访问器,分别用于get和set关键字定义,可以用于控制对属性的 ...

随机推荐

  1. MySQL存取特殊数据类型

    一.存取大文本数据 数据库设计: DDL: CREATE TABLE `article` ( `id` ) COLLATE utf8_bin NOT NULL COMMENT '编号', `conte ...

  2. 20155210 2016-2017-2 《Java程序设计》第10周学习总结

    20155210 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输.按照计算 ...

  3. 20155305乔磊2016-2017-2《Java程序设计》第十周学习总结

    20155305乔磊2016-2017-2<Java程序设计>第十周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. ...

  4. Yii2 Gridview 动态显示行或列和action列

    我们知道Yii中的GridView组件是非常好用的. 某些情况要动态显示某列,这时候就要用到visible属性 'propString' => ['attribute' => 'prope ...

  5. 洛谷P2464 [SDOJ2008]郁闷的小J

    洛谷P2464 [SDOJ2008]郁闷的小J 题目描述 小J是国家图书馆的一位图书管理员,他的工作是管理一个巨大的书架.虽然他很能吃苦耐劳,但是由于这个书架十分巨大,所以他的工作效率总是很低,以致他 ...

  6. python-创建进程的三种方式

    目录 1,os.fork() 方法 2,Process方法 3,Pool方法 1,os.fork() 方法 import os ret = os.fork() if ret == 0: #子进程 pr ...

  7. 内网集群准同步shell脚本

    在公司的内网中配置集群同步,可能是代理问题,ntpd和chrony都没有用,所以只好写shell脚本解决 前提条件集群中各台机器已经配置好了免密登录 一.免密登录配置 1. 用 root 用户登录.每 ...

  8. MySQL双主复制

    原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...

  9. 【python 3.6】笨办法取出列表中的字典的value

    #python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'BH8ANK' x = {'RegionSet': [{' ...

  10. AWS/阿里/Azure,云厂商价格大PK

    以下选取热门型号Linux虚拟机,AWS和Azure的虚拟机配置包括本地SSD临时盘,阿里云虚拟机不带本地SSD临时盘,而且需要另配网卡带宽.以下价格为人民币含税(6%) 按使用量网站直接付费购买(O ...