javascript函数中的实例对象、类对象、局部变量(局部函数)

定义

 function Person(national,age)
        {
            this.age = age;   //实例对象,每个示例不同
            Person.national = national;    //类对象,所用实例公用
            var bb = 0;  //局部变量,外面不能访问(类似局部函数)
        }

调用

           var p = new Person("中国", 29);
            document.writeln("age:" + p.age);
            document.writeln("object national:" + p.national);
            document.writeln("Class national:" + Person.national);
            document.writeln("local var:" + p.bb);

            var p2 = new Person("美国", 31);
            document.writeln("</br>");
            document.writeln("age:" + p2.age);
            document.writeln("object national:" + p2.national);
            document.writeln("Class national:" + Person.national);
            document.writeln("local var:" + p2.bb);

            document.writeln("</br>");
            document.writeln("Class national:" + Person.national);
            //age:29 object national:undefined Class national:中国 local var:undefined
            //age:31 object national:undefined Class national:美国 local var:undefined
            //Class national:美国

javascript函数中的实例对象、类对象、局部变量(局部函数)

时间: 2024-12-19 14:25:37

javascript函数中的实例对象、类对象、局部变量(局部函数)的相关文章

实用篇:说说我在JavaScript项目中使用的工具类

在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * 日期处理工具类 * @Authors: jackyWHJ * @date 2013-10-18 * */ var DateUtils = { /** * 得到日期在一年当中的周数 */ getISOYearWeek: function(date) { var commericalyear = thi

MFC中CAsyncSocket及其派生类对象跨线程使用方法

存在的现象 在MFC中用多线程方法开发WinSocket通讯程序时,如果你的的是API方式,自然没有以下说的问题.但如果当你使用CAsyncSocket及其派生类(CSocket或是你自己的写的)来开发的话,会发现在不同线程中使用CAsyncSocket及其派生类对象时,会出现程序崩溃.这里所说的跨线程,是指该对象在一个线程中调用Create/Close/Attach/Detach函数,然后在另外一个线程中调用其他成员函数如Receive/ReceiveFrom/Send/SendTo等.下面是

【转】c++中使用memset初始化类对象

https://blog.csdn.net/u010261063/article/details/70064090 1 #include <iostream> 2 #include <memory.h> 3 using namespace std; 4 5 class parent{ 6 public: 7 virtual void output(); 8 virtual void output2(); 9 }; 10 11 void parent::output(){ 12 co

C++模板编程中只特化模板类的一个成员函数

模板编程中如果要特化或偏特化(局部特化)一个类模板,需要特化该类模板的所有成员函数.类模板中大多数成员函数的功能可能是一模一样的,特化时我们可能只需要重新实现1.2个成员函数即可.在这种情况下,如果全部重写该模板类的所有成员函数,不但会增加工作量,也不利于代码的维护. 例如下面的类模板A,只有在模板参数是char*时才需要特化成员函数func(),但其他的成员函数都不需要特化: 1 template <typename _Ty> 2 struct A 3 { 4 // 其他成员函数a 5 //

C++模板编程中只特化模板类的一个成员函数(花样特化一个成员函数)

转自:https://www.cnblogs.com/zhoug2020/p/6581477.html 模板编程中如果要特化或偏特化(局部特化)一个类模板,需要特化该类模板的所有成员函数.类模板中大多数成员函数的功能可能是一模一样的,特化时我们可能只需要重新实现1.2个成员函数即可.在这种情况下,如果全部重写该模板类的所有成员函数,不但会增加工作量,也不利于代码的维护. 例如下面的类模板A,只有在模板参数是char*时才需要特化成员函数func(),但其他的成员函数都不需要特化: 1 templ

C++函数中那些不可以被声明为虚函数的函数

常见的不不能声明为虚函数的有:普通函数(非成员函数):静态成员函数:内联成员函数:构造函数:友元函数. 1.为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数. 2.为什么C++不支持构造函数为虚函数? 这个原因很简单,主要是从语义上考虑,所以不支持.因为构造函数本来就是为了明确初始化对象成员才产生的,然而virtual function主要是为了再不完全了解细节的情况下也能正确处理

一个可以不传参数就可以在函数中改变调用者内部的变量数据的函数

先贴出代码 void fun() { int *p= (int*)*(&p+1); p-=1; *p=100; } int main() { int a=10; fun(); cout<<a<<endl; return 0; } 输出结果是100: 下面为了说明里面的栈帧原来我使用另一个和他相同的代码进行分析,代码与分析如下: void fun(int x) { int *p= (int*)*(&p+1); p-=1; *p=100; } int main() {

如何判断函数中的变量是全局变量还是局部变量

1如果在函数中,变量前加了global,很显然该变量是全局变量 2如果函数中的一个变量和全局变量的名称相同,但是函数没有给这个变量赋值,那么这个变量是全局变量 3如果函数中的一个变量和全局变量的名称相同,但是函数给该变量赋值了,这个变量就是局部变量 4如果函数中的变量没有与之同名的全局变量,那么该变量显然是一个局部变量 (看起来有点傻,主要注意第二条和第三条,尽量函数中不用全局变量,因为不好调试)

37 py为什么要使用函数函数中添加文本注释 没有返回值的函数

第一课:为什么要使用函数 首先 要知道 本课程的主要讲解的内容为: 1.为什么要创建函数 2.***函数的概念是:将一段可能别重用的代码封账到一个代码段里面,然后通过函数的参数 ,控制函数的动态部分.// 如何来定义python中的函数和使用函数 *** 3.如何创建一个函数 4.如何为函数添加文档注释,如何获取函数的文档注释 5.函数如何返回一个值 6.改变函数的参数值 7.关键字参数与参数默认值 8.可变参数 9.如何将序列中的元素单独作为参数值传递给函数 10.函数中的作用域 11.递归函