使用/调用 函数的时候, 前面加不加 对象或 this?
这个问题, 其实没有细想:
应该是这样的: (想明白了, 就会少很多困惑, 会对语言的把握 会 更深入更透彻)
任何一门 语言, (如果你自己去设计一门语言...). 都要规定 一些 "关键字": 关键字是由 /供 语言的 编译器 和 parser来识别的. 它不是 任何一种数据类型. 如C中的 for, 它不是int, bool, string , struct, enum, union中的任何一种!!
任何一门语言, 除了传统的函数, 数据类型外, 还得有 "操作符, 也就运算符" operator. 如 加减乘除 + - * /, = , ==, != .... 而这些operator不仅仅是一些 数学符合, 也有可能是一下 单词: 如 : typeof, sizeof, 比如
在js中, var name="Tome", alert(typeof name); 这里的 typeof就是 操作符, 运算符, 叫单目 运算符...
重点: 函数, 凡是 对于面向对象:oriented objects 的语言, 里面的函数 有两种类型:
- 全局的: 在任何地方都可以使用的, 跟任何对象都无关的, 这样的全局函数, 使用时, 直接写函数名就行了, 前面不用加任何东西.
- 属于对象的函数: 这个函数,,要使用, 得有一个对象, 用一个对象来调用它. 因为是属于对象的, 没有对象就无法引用. 要么用显式的对象, 要么用一个隐含的对象this.
第一, 显式的对象:
var person={"name": "Tom", "age": 10, "isMale": true,....}. 要引用其中的成员, 则: person.name
class Person{
private:
string name;
int age;
...;
public:
// 构造函数
Person(string name, int age){
this.name = name;
this.age = age;
getName(){
return name; //在类的内部, 可以直接引用成员名称,只要不跟参数同名就行
}
}; // class Person 仅仅只是一个变量声明,如int i; 一样的, 所以要加分号;
Person p("Tom", 10);
// 这个时候要获取p 这个人的名字, 就得用 类 对象的函数. 由于getName是属于对象的, 所以它前面就必须要有对象, 这里用显式的对象:
printf("person 'p' name: %s", p.getName()); // 就不能直接写成: printf("person 'p' name: %s", getName());
第二, 隐含的对象:
jquery中: $("table.navi tr").click(function(index, event){
alert("current tr ' index is:" + index);
// 这里就要注意了, 这个css函数 /方法 前面就必须用$(this)了, 表示这个css是一个jQuery对象的方法,不是全局函数,
// 要通过一个对象才能来 调用它.如果不加$(this)就会被当成一个全局变量来解析,自然就会出错了!
alert("current tr's background is: " + $(this).css("background-color"));
});
orient: ori=rise(升起的) -ent 名词/形容词后缀. 太阳升起的地方.= 东方.
orient: n. 东方, 东方诸国; adj. 东方的 vt. 使熟悉/使适应, 确定方向/面向...
they love paintings from the orient.
i need some time to orient my thinking.
the fresher took some days to orient himself.
使用/调用 函数的时候, 前面加不加 对象或 this?的更多相关文章
- Python调用函数加括号和不加括号的区别
Python调用函数加括号和不加括号的区别 # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : 2018/7/3 10:03 # @Desc ...
- setTimeOut(),和setInterVal()调用函数加不加括号!!!
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
- JS调用函数时候加括号与只写函数名字的区别 fn与fn()的区别
经常见插件里面函数调用的时候只写个函数名字,不写函数参数,甚至连括号也不写,比如说: <!DOCTYPE html> <html> <head> <meta ...
- 在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”
首先,作为extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用. 通常,在模块的头文件中对本模块提供给其它模块 ...
- C#中引用类型的变量做为参数在方法调用时加不加 ref 关键字的不同之处
一直以为对于引用类型做为参数在方法调用时加不加 ref 关键字是没有区别的.但是今天一调试踪了一下变量内存情况才发现大有不同. 直接上代码,结论是:以下代码是使用了 ref 关键字的版本.它输出1 ...
- Shell函数:Shell函数返回值、删除函数、在终端调用函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...
- Shell函数返回值、删除函数、在终端调用函数
Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () { list of commands [ return value ] ...
- 【Shell脚本学习22】Shell 函数:Shell函数返回值、删除函数、在终端调用函数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...
- 编译程序加不加 -lpthread 的区别【转】
转自:http://www.cnblogs.com/Swartz/articles/3939382.html 作者:Lokki 出处:http://www.cnblogs.com/Swartz/ 欢迎 ...
随机推荐
- macOS 安装 wget
适用于macOS Sierra Apple Store下载安装Xcode 安装Homebrew包管理,类似于Ubuntu下的apt-get: 终端下输入 ruby -e "$(curl -f ...
- SQL Server附加数据库时失败,提示:“未重新生成日志,因为有不止一个日志文件”
这个只能是试一下的方法,但不一定能成功,可以尝试如下几个方法: 1.登录远程桌面,然后以.登录SQL Server,并以Windows身份登录,然后再附加数据库时把日志文件删除. 2.试下这个脚本: ...
- IIS配置错误信息输出
Asp.net: 一.通过 IIS 配置 1.打开IIS管理器,或按住 WIN + R 打开命令行输入 inetmgr 打开 IIS 管理 2.左边目录选择目标站点,在右边 IIS 块中双击 “错误页 ...
- Codeforces Round #389 Div.2 D. Santa Claus and a Palindrome
time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...
- rfc2616 HTTP Protocl Analysis
catalog . Introduction . Protocol Parameters . HTTP Message . Request . Response . HTTP Method.Conte ...
- DayuCMS 1.525 /include/global.func.php Foreground Arbitrary Code Execution
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://joychou.org/in ...
- 帝国cms栏目自定义字段首页调用
例如:增加栏目自定义字段:chushi_bpic 用下面的灵动标签和调用: [e:loop={"select C.classid,C.classname,C.classimg,D.chush ...
- Fluent interface
In software engineering, a fluent interface (as first coined by Eric Evans and Martin Fowler) is an ...
- JavaWeb学习总结-06 Listener 学习和使用
一 Listener 当Web应用在Web容器中运行时,Web应用内部会不断地发生各种事件:如Web应用被启动.Web应用被停止.用户session开始.用户session结束.用户请求到达等,可以用 ...
- iOS - 全屏滑动
取经地址 1.使用关联 关联是指把两个对象相互关联起来,使得其中的一个对象作为另一个对象的一部分. 使用关联,是基于关键字的,因此,我们可以为任意对象增加任意多的关联,但是关键字是唯一的.关联可以保证 ...