js---14公有私有成员方法
var ns1 = {}; //命名空间
ns1.ns11 = {};//子命名空间
ns1.module1 = {name:"a",m:function(){}};
console.log(ns1.module1.name);
ns1.ns11.module = {name:"a",m:function(){}};
//成员封装
//1.静态成员
function Person(name,age){ //Person既可以看成是函数,也可以看成是类,也可以看成是对象
this.name = name;
}
Person.u = true;//添加静态成员
console.log(Person.u);//true
var p1 = new Person();
console.log(p1.u);//undefined,变量不能访问静态成员,
console.log(Person.__proto__);//Person本身看成是一个对象,他是Function构造出来的,
//2.公有方法
function Person(name){
var age = 100;//私有成员
function pm(){//私有方法
console.log("private");
}
this.name = name;//公有成员
this.t = function(){//公有方法
console.log("pnblick");
}
}
var p1 = new Person(111);
console.log(p1.age);//undefined
console.log(p1.name);//
p1.pm();//不能访问
p1.t();//pnblick
//公有方法调用私有方法
function Person (pname) {
var age = 100;//私有属性
function pm(){//私有函数,私有函数访问公有属性,
console.log(this.name);
}
this.name = pname;//公有成员
this.test=function(){//公有方法
console.log("public method");
//pm(); pm()前面不写表示window.pm(),所以pm()函数里面的this是window,
pm.call(this);
};
}
var p2 = new Person();
p2.test();
function Person(pname){
function pm(){
console.log(self.name);//闭包:子类访问父类的成员self,不是this,this就是window
}
var self = {//对象
name:pname,
test:function(){
pm();//函数执行没有return,不存在对象,就是函数调用,
}
};
return self;
}
var p2 = new Person(“ss”);
p2.test();//ss
js---14公有私有成员方法的更多相关文章
- 从零开始学C++之继承(一):公有/私有/保护继承、overload/overwrite/override之间的区别
一.继承 C++很重要的一个特征就是代码重用.在C语言中重用代码的方式就是拷贝代码.修改代码.C++可以用继承或组合的方式来重用.通过组合或继承现有的的类来创建新类,而不是重新创建它们. 继承是使用已 ...
- 公有/私有/保护继承、overload/overwrite/override之间的区别
一.继承 C++很重要的一个特征就是代码重用.在C语言中重用代码的方式就是拷贝代码.修改代码.C++可以用继承或组合的方式来重用.通过组合或继承现有的的类来创建新类,而不是重新创建它们. 继承是使用已 ...
- js对象的继承以及公有私有属性的定义和读写
最近想写一些js工具,有些方面需要用到面向对象的方法,比如继承父类属性和方法.通过私有化隐藏某些对象的属性等,因为没有系统的学习js,所以不知道怎么做,觉得很伤脑筋. 今天受到技术群里朋友的提示,并查 ...
- js中公有方法、特权方法、静态方法
1.公有属性和公有方法 1 2 3 4 5 6 7 8 9 function User(name,age){ this.name = name;//公有属性 this.age = age; } ...
- ndoe.js 和npm私有仓库的搭建
下载nodejs的压缩包 网址:https://nodejs.org/en/ 下载以tar.xz结尾的包例如:node-v8.9.4-linux-x64.tar.xz 上传包到制定的目录 可以用lrz ...
- 《C++ Primer Plus》14.2 私有继承 学习笔记
C++(除了成员变量之外)还有另一种实现has-a关系的途径——私有继承.使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员.(如果使用保护继承,基类的公有成员和保护成员都将称为派生类的保 ...
- Javascirpt 面向对象总结-公有/私有
虽说js是一门面向对象的语言,但是它并不像C++,C#,Java等那样,具有典型的面向对象的特征.因此在这里总结一下如何编写具有面向对象特征的程序. [私有变量] 在对象内部使用'var'关键字来声明 ...
- 【JS笔记】私有变量
1.任何函数中定义的变量都可以认为是私有变量.函数内部可以访问,外部不能访问. 可以通过闭包创建特权方法访问私有变量. function Foo(){ var n=10; this.returnN=f ...
- JavaScript 公有 私有 静态属性和方法
1.公有属性和公有方法 这里的 name age 都是参数传递进去 可以在外面直接实例化调用. 2.私有属性和方法 私有的只能在函数内部使用 作用域的原因 3.静态属性和静态方法 这里我首先 创建 ...
随机推荐
- Filenames and paths
Files are organized into directories (also called ‘folders’). Every running program has a ‘current d ...
- Spring4+SpringMVC+MyBatis登录注册详细
项目结构: package com.mstf.controller; import org.springframework.stereotype.Controller; import org.spri ...
- mysql(for update)悲观锁总结与实践
悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态.悲观锁的实现,往往依靠数据库提供的锁机制( ...
- 洛谷——P1019 单词接龙(NOIP2000 T3)
https://www.luogu.org/problem/show?pid=1019#sub 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, ...
- MethodFilterInterceptor(方法拦截器)配置excludeMethors
由于该类有setExcludeMethods方法,因此在xml中可以配置一个excludeMethods参数 刚开始老是拦截不成功,tomcat显示这个参数没找到,后来终于找到错误:不应该在拦截器栈中 ...
- cxf 实例解读
1.sample 实例之一---java_first_pojo 服务端发布服务的方法: 1 HelloWorldImpl helloworldImpl = new HelloWorldImpl(); ...
- Attach、Detach和DeleteObject
原文:Attach.Detach和DeleteObject,想飞的梦想 1.CWnd Attatch和Detach的关系 首先,要明白Windows对象和MFC对象的区别. MFC对象实际上并没有把整 ...
- CodeForces B. The least round way(dp)
题目链接:http://codeforces.com/problemset/problem/2/B B. The least round way time limit per test 5 secon ...
- Dojo入门篇
Dojo是一个JavaScript实现的开源DHTML工具包,Dojo最初的目标是解决开发HTML应用程序中遇到的一些长期存在的问题.然而如今Dojo已经成为了开发RIA应用程序的利器. Dojo让W ...
- google浏览器修改网页字符编码
google浏览器修改网页字符编码 直接在google浏览器的应用拓展程序里面搜 Charset,第一个就是 于是就有了