函数的定义和声明以及this

this = $(this)[0];

var person = {

  name : "lisa",

  age : "20",

  init : function(){

    alert(this.name);//this指的是person,包含name,age两个属性和一个init方法。

  }

}

function person(){

  this.name = "lisa";

  this.age = "20";

}

person.init = function(){(匿名函数,赋值给了person的init)

  var _this = this;//this指的是person,包含name,age两个属性和一个init方法。

  say(_this.name);

}

function say(a){//该函数不属于person,只是供person的成员函数init调用。(普通函数)

  alert(a);

}

var  person = function(name){

  this.name = name;

}

person.prototype.say = function(){

  return this.name;

}

时间: 2024-10-31 01:18:27

函数的定义和声明以及this的相关文章

模板类成员函数的定义和声明为什么要放在一个文件中

"通常情况下,你会在.h文件中声明函数和类,而将它们的定义放置在一个单独的.cpp文件中.但是在使用模板时,这种习惯性做法将变得不再有用,因为当实例化一个模板时,编译器必须看到模板确切的定义,而不仅仅是它的声明.因此,最好的办法就是将模板的声明和定义都放置在同一个.h文件中.这就是为什么所有的STL头文件都包含模板定义的原因."[1] "标准要求编译器在实例化模板时必须在上下文中可以查看到其定义实体:而反过来,在看到实例化模板之前,编译器对模板的定义体是不处理的--原因很简单

定义与声明、头文件与extern总结(转)

本文转自: http://lpy999.blog.163.com/blog/static/117372061201182051413310/ http://blog.csdn.net/feitianxuxue/article/details/7204116 感谢博主,如有侵犯请告知删除  用#include可以包含其他头文件中变量.函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xxx.h包含了a的声明)不

内联函数的定义及说明

一.什么叫inline函数? inline(小心,不是online),翻译成"内联"或"内嵌".意指:当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置.这样做的好处是省去了调用的过程,加快程序运行速度.(函数的调用过程,由于有前面所说的参数入栈等操作,所以总要多占用一些时间).这样做的不好处:由于每当代码调用到内联函数,就需要在调用处直接插入一段该函数的代码,所以程序的体积将增大.拿生活现象比喻,就像电视坏了,通过

内敛函数宏定义差别

内敛函数(inline函数) 内敛函数一般规模较小,程序再调用这些成员函数时.不是真正的运行函数的调用过程(如保存返回地址等处理).而是把函数代码嵌入程序的调用点(内敛函数在源文件里不是调用而是按原样展开),这样能够大大降低调用成员函数的时间. 类内定义的成员函数默认是内敛函数.由于在c++中一般将类定义放在头文件里.因此这些类内定义的函数也伴随着写入头文件里.函数声明一般在头文件里.而定义是不同意在头文件里的,由于他们要多次被编译. 若是内敛函数,则同意写在头文件里. 内敛函数的定义: 内联函

javascript篇-----函数作用域,函数作用域链和声明提前

在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于这类型的编程语言,javascript是没有块级作用域.取而代之的,javascript使用的是块级作用域:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. 在如下的所示的代码中,在不同位置定义了变量 i . j 和 k ,它们都在同一个作用域内——这三个变量在函数体内均是有定义

C++ 函数模板一(函数模板定义)

//函数模板定义--数据类型做参数 #include<iostream> using namespace std; /* 函数模板声明 1.函数模板定义由模板说明和函数定义组成,并且一个模板说明对应一个函数定义 2.模板说明的类属参数必须在函数定义中至少出现一次 3.函数参数表中可以使用类属类型参数,也可以使用一般类型参数 */ /* template关键字告诉c++编译器现在要进行泛型编程 typename或者class告诉c++编译器T是一个数据类型,不要进行语法检查 typename和c

C++ 回调函数的定义与用法

一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数. 而 那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作.至于如何定义回调函数,跟具体使用的 A

javascript 函数的定义与参数的有无

一.函数定义 function fName(params){ statements; return somevalue;//可以省略 } 注意事项: 1.参数可有,可无.不定义参数,在调用参数时,也可以传入参数: 例如: 1 function add(){ 2 if(arguments.length==1){ 3 alert(arguments[0]); 4 }else if(arguments.length==2){ 5 alert(arguments[0] + arguments[1] );

C/C++函数重复定义、头文件重复包含、互相包含问题

1.避免头文件重复包含 // test.h 此段宏的意思是如果定义了宏变量TEST_H_则不再定义它 #ifndef TEST_H_ #define TEST_H_ //头文件内容 #endif 或者 // test.h 告诉预编译器只包含一次 #pragma once 2.避免重复定义 不要将函数定义放置在头文件里面,正确的做法是头文件放置函数声明,源文件放置函数定义.因为源文件是分别编译的,假如头文件放置了函数定义,包含该头文件的每一个源文件都会定义相应的函数,从而导致重复定义.但是几种情况