浅谈js的面向对象 js没有类最开始的时候,我以为所有面相对象的语言都会有类的概念。然而js告诉了我,我还是太native。 JavaScript从发明的那天起就没有真正的类,虽然有不少JavaScript书籍或文章中都讲到了类,就好像JavaScript中真的存在类一样.但其实,他们所说的类只是一些自定义的构造函数,这些函数可以用来构造一些自定义的引用类型.在JavaScript中,引用类型已经是最接近于类的东西了
js函数漫谈 因为最先接触java,所以总是习惯性的把js和java比较。与java中完全不同的第一点就是:js中函数是一个对象。每个都是Function 类型的一个实例。function test(){};alert(test instanceof Function )//true函数的声明一般有两种方式:1 函数声明function test(){ };2函数表达式 var test =fun
js原生数组工具方法总结 ECMAScript5 提供了几个数组迭代后操作的方法。首先我们考虑这样的场景: 要判断数组中的所有元素是否都满足某个条件。我们首先定义一个数组:var testArray=[1,2,3,4,5,6,7,8,9];我们需要知道这个数组里面是否所有的元素都小于5。 通常会怎么做呢? function compare1(testArray){ var result=true;
js数组迭代方式总结 js数组迭代方式总结首先我们定义一个数组:var testArray=[1,2,3,4,5,6,7,8,9];1 for for (var i = 0; i < testArray.length; i++) { console.log(testArray[i]); };这个循环每执行一次,都要检查一次 array.length 的值,效率并不高。2 for…in
javaScript 的值传递 javaScript 的值传递我之前学习的是java,java 是按照引用传递的,当然如果是基本类型,是按照值传递的。 我们先看看java版本的:public class Student { private String name; private int age; public Student(String name,int age){ this.name=
动态添加 data 属性的时候 发现某一个值无法取到 动态添加 data 属性的时候 发现某一个值无法取到data-codes$table.append(‘’ + ‘‘+n.material_id+’/’+n.name+’’ + ‘‘+n.category+’/’+n.store_condition+’’ + ‘‘+n.tzhyxsl+’/’+n.sxsl+’’ + ‘‘);后来发现 如果使用的是驼峰命名法的话
本地连接gitHub 远程仓库报错 报错是这个:Permission denied (publickey).fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.首先我是在本地建了一个库 然后要推送到gitHub 上面。 按照命令 ss
java后端初中级工程师换工作小结 注:本文适用于工作一到三年有一定经验的java后端人员,我一共面试了五家公司,收到四个offer,每天跑来跑去也很累,最后的的offer很满意之后就把其他的面试和offer都推掉了。入职前把这段时间的一点经验写下来,希望能帮助到跟我境况差不多的兄弟姐妹。准备 机会永远都是留给有准备的人当你决定离职之前,你就应该开始为下一份工作做准备了。 那么,该准备什么呢? 我建议是第一是跟语言无关的部分
设计模式学习之访问者模式 访问者模式在设计模式中应该算是比较复杂的了,但也不能成为我们不学习的理由。 定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。听起来就很绕,首先看数据结构这四个关键字,这就是不变的部分。比如说世界上只有男人和女人,当然(其他的忽略吧),这个就是很稳定的。如果是数据结构频繁变化的是不太适合用这个模式的。那么变化的部分呢? 数据结构各个原
魔术师发牌问题 java 实现 魔术师利用一副牌中的13张黑桃牌,预先将他们排好后叠放在一起,牌面朝下。对观众说:“我不看牌,只数数就可以猜到每张牌是什么, * 我大声数数,你们听,不信?现场演示。”魔术师将牌堆最上面的哪张排数为1,把他翻过来正好是黑桃A,将黑桃A从牌堆抽出放在桌子上, * 第二次数1、2,将第一张放在牌堆最下面,第二张翻开,正好是黑桃2,也将它抽出放在桌子上。这样依次进行将13将牌全部翻出,准确无误。问
抽象工厂模式 简介工厂模式有三兄弟,第一是简单工厂,这个勉强算是一种设计模式,第二个是工厂模式,我也写过了,今天就介绍不太好理解的第三种模式:抽象工厂模式。 情景在商场里面有买冰淇凌的机器,每一种口味都是一台机器,比如苹果冰淇凌机器,比如香蕉冰淇凌机器,同时呢,每一个机器都可以选择中国产的和美国产的,当然价格不一样。现在就是抽象工厂模式应用适合的场景了。 实体类既然是冰淇凌机器,我们首先就要有冰淇凌。 无论
一次失败的模型设计的总结 一次失败的模型设计的总结首先看一下数据结构: 首先有一张主表,就是交易表,记录了本次交易的一些基本信息。交易编号等,其中包含了商品清单。一个交易可以有很多条清单,因为我目前系统里面包含的清单数据量很大,可能有上千条,这直接影响了我的设计原则。需求在交易的进行中,现在要求可以对价格可以改变,也就是说通俗来说的讨价还价。以最后谈好的价格为最终价格,但是要求记录每一次谈价的历史,这样就可以方便回顾。
单例模式 简单介绍23种设计模式系列之一的单例模式,简单却也有一些需要注意的地方。单例模式的实现并不单一,这里主要介绍懒汉式单例、饿汉式单例、等几种常见的实现,其中各有优劣,根据使用情况酌情选择。 模式特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例适应场景 在计算机系统中,线程池、缓存、日志对象、对话
查新功能的一些bug点还有开发需要注意的事项 做过一些查询的页面,总结一下经常会出现的注意点,以此为戒。血泪的bug,不要犯同样的错误。对于日期,在前台接收的时候因为日期插件的格式化,用对象接收的话最好用String,而不是用Date 如果格式不对的话就会报400错误。确定哪些字段要做成模糊的匹配,那些字段要做完全匹配。一般来说名称之类的可以做成模糊匹配。而工号之类的可以做成完全匹配。前台的日期一般都是到天,也就是说没有时分秒的。如果按照
真正的工厂模式 定义 工厂模式定义了一个创建对象的接口,但由子类决定要实例的类是哪一个。工厂方法把类的实例化推迟到子类。代码public abstract class Pizza {String name;}public class BeijingStyleHotPizza extends Pizza { public BeijingStyleHotPizza() { name="
不要编写返回引用可变对象的访问器方法 最近看java核心技术里面提到的。 首先看一段代码package structor;import java.util.Date;import java.util.GregorianCalendar;public class Test0817 { public static void main(String[] args){ Employee emp=n
设计模式学习之——简单工厂 在真正的工厂方法之前,先学习下简单的工厂思想。 假定你是pizza店的老板现在有一个pizza 类public abstract class Pizza { public void prepare(){ System.out.println("准备开始做"); } public void bake(){ System.out.printl
设计模式学习之—装饰者模式 @(JAVA开发)在这之前,先看一下一个原则开闭原则 类应该对扩展开放,对修改关闭。但也要注意允许不直接修改代码的情况下对其进行扩展。并且不用在每个地方都这么做,这是浪费时间和精力的一件事情。所以要善用这个原则。而装饰者模式就很好地遵循了这个原则。定义 动态的将责任附加到对象上,若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案。应用我们都知道,可以使用两种方式给一个类或者对象添加行
OpenSearch 简单学习 OpenSearch 简单学习项目中用到了阿里云的开放搜索,进行一下总结。 OpenSearch基于阿里巴巴自主研发的大规模分布式搜索引擎平台,该平台承载了阿里巴巴全部主要搜索业务,包括淘宝、天猫、一淘、1688、ICBU、神马搜索等业务。OpenSearch以平台服务化的形式,将专业搜索技术简单化、低门槛化和低成本化,让搜索引擎技术不再成为客户的业务瓶颈,以低成本实现产品搜索功能并快速迭代。
设计模式学习之—观察者模式 @(JAVA开发) 观察者模式可以理解为报纸和杂志的订阅,报社负责给订阅的用户送报纸,只要你订阅了,就会收到报纸,而你不想要了,取消订阅,就不会受到新的报纸。不针对具体实现编程把会改变的地方封装起来应用场景出版者+ 订阅者= 观察者模式出版者成为主体订阅者成为观察者定义 观察者模式 : 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态的时候,它的所有依赖者都会收到通知并且自动更新。