9JavaScript-面向对象高级对象创建模式

JavaScript面向对象高级——对象创建模式一、Object构造函数模式方式1: Object构造函数模式 流程: 先创建空Object对象, 再动态添加属性/方法。适用场景: 起始时不确定对象内部数据。问题: 语句太多。/*一个人: name:"Tom", age: 12 */// 先创建空Object对象var p = new Object()p = {} //此时内部数据是不确定的// 再动态添加属性/方法p.name = 'Tom'p.age = 12p.setName = function (name) { this.name = name}//测试console.log(p.name, p.age) // Tom 12p.setName('Bob')console.log(p.name, p.age) // Bob 12二、对象字面量模式方式2: 对象字面量模式 流程: 使用{}创建对象, 同时指定属性/方法。适用场景: 起始时对象内部数据是确定的。问题: 如果创建多个对象, 有重复代码。var p = { name: 'Tom', age: 12, setName: function (name) { this.name = name }}//测试console.log(p.name, p.age) // Tom 12p.setName('JACK')console.log(p.name, p.age) // JACK 12var p2 = { //如果创建多个对象代码很重复 name: 'Bob', age: 13, setName: function (name) { this.name = name }}三、工厂模式方式3: 工厂模式 ...

June 27, 2019 · 2 min · jiezi

&和&&的共同点和区别、Java字符含义和Java创建对象的几种方式

一、&和&&的共同点和区别1、&和&&的联系(共同点):&和&&都可以用作逻辑与运算符,但是要看使用时的具体条件来决定。操作数1&操作数2,操作数1&&操作数2,表达式1&表达式2,表达式1&&表达式2,情况1:当上述的操作数是boolean类型变量时,&和&&都可以用作逻辑与运算符。情况2:当上述的表达式结果是boolean类型变量时,&和&&都可以用作逻辑与运算符。表示逻辑与(and),当运算符两边的表达式的结果或操作数都为true时,整个运算结果才为true,否则,只要有一方为false,结果都为false。2、&和&&的区别(不同点):(1)、&逻辑运算符称为逻辑与运算符,&&逻辑运算符称为短路与运算符,也可叫逻辑与运算符。对于&:无论任何情况,&两边的操作数或表达式都会参与计算。对于&&:当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最终结果都为false。综上所述,如果逻辑与运算的第一个操作数是false或第一个表达式的结果为false时,对于第二个操作数或表达式是否进行运算,对最终的结果没有影响,结果肯定是false。推介平时多使用&&,因为它效率更高些。(2)、&还可以用作位运算符。当&两边操作数或两边表达式的结果不是boolean类型时,&用于按位与运算符的操作。二、 d,D,s,.,*,?,|,[0-9]{6},d+的含义d: 匹配一个数字字符。等价于[0-9]D: 匹配一个非数字字符。等价于1s: 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]. :匹配除换行符 n 之外的任何单字符。要匹配 . ,请使用 . 。:匹配前面的子表达式零次或多次。要匹配 字符,请使用 *。+:匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 +。|:将两个匹配条件进行逻辑“或”(Or)运算[0-9]{6}:匹配连续6个0-9之间的数字d+:匹配至少一个0-9之间的数字三、Java创建对象的几种方式(重要)(1) 用new语句创建对象,这是最常见的创建对象的方法。(2) 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。(3) 调用对象的clone()方法。(4) 运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。补充说明:(1)和(2)都会明确的显式的调用构造函数 ;(3)是在内存上对已有对象的影印,所以不会调用构造函数 ;(4)是从文件中还原类的对象,也不会调用构造函数。以上选择上海尚学堂《Java面试题大全》,由尚学堂Java学员收集整理,更多Java面试题或技术文章请点击上海尚学堂Java面试大全。0-9 ↩

January 3, 2019 · 1 min · jiezi