#拓展

康拓展开

原理:举个例子来说明康拓展开的应用:已知1,2,3,4,5五个数的全排列,给出一个排列34152,问该排列在全排列中是第几个。而康托展开的值就是这个排名。首位是3,比它小而且没有出现过的数有1,2两个,所以为     2*4!;第二位是4,比它小而且没有出现过的数有1,...
代码星球 ·2020-07-18

ES6里关于类的拓展(二):继承与派生类

继承与派生类  在ES6之前,实现继承与自定义类型是一个不小的工作。严格意义上的继承需要多个步骤实现functionRectangle(length,width){this.length=length;this.width=width;}Rectangle.prototype.getArea=function(){re...

ES6里关于类的拓展(一)

  大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,这种状态一直延续到了ES5。由于类似的库层出不穷,最终还是在ECMAScript6中引入了类的特性。一、ES5近似结构  在ES5中没有类的概念,最相近的思路是创建一个自定义类型:首先创建一个构造函数,...
代码星球 ·2020-06-27

ES6里关于作用域的拓展:块级作用域

  过去,javascript缺乏块级作用域,var声明时的声明提升、属性变量等行为让人困惑。ES6的新语法可以帮助我们更好地控制作用域。一、var声明1、变量提升:var声明会发生“变量提升”现象,即变量可以在声明之前使用,值为undefined functiongetValue(c...

ES6中关于数据类型的拓展:Symbol类型

  ES5中包含5种原始类型:字符串、数值、布尔值、null、undefined。ES6引入了第6种原始类型——Symbol。  ES5的对象属性名都是字符串,很容易造成属性名冲突。比如,使用了一个他人提供的对象,想为这个对象添加新的方法,新方法的名字就有可能与现有方法产生冲突。如果有一种机制保...

ES里关于数组的拓展

一、静态方法  在ES6以前,创建数组的方式主要有两种,一种是调用Array构造函数,另一种是用数组字面量语法,这两种方法均需列举数组中的元素,功能非常受限。如果想将一个类数组对象(具有数值型索引和length属性的对象)转换为数组,可选的方法也十分有限,经常需要编写额外的代码。为了进一步简化JS数组的创建过程,ES6...
代码星球 ·2020-06-27

ES里关于对象的拓展

一、对象类别  在浏览器这样的执行环境中,对象没有统一的标准,在标准中又使用不同的术语描述对象,ES6规范清晰定义了每一个类别的对象,对象的类别如下1、普通(Ordinary)对象:具有JS对象所有的默认内部行为2、特异(Exotic)对象:具有某些与默认行为不符的内部行为3、标准(Standard)对象:ES6规范中...
代码星球 ·2020-06-27

ES6里关于函数的拓展(三)

一、箭头函数  在ES6中,箭头函数是其中最有趣的新增特性。顾名思义,箭头函数是一种使用箭头(=>)定义函数的新语法,但是它与传统的JS函数有些许不同,主要集中在以下方面:1、没有this、super、arguments和new.target  绑定箭头函数中的this、super、arguments和new.t...
代码星球 ·2020-06-27

ES6里关于函数的拓展(二)

一、构造函数  Function构造函数是JS语法中很少被用到的一部分,通常我们用它来动态创建新的函数。这种构造函数接受字符串形式的参数,分别为函数参数及函数体varadd=newFunction("first","second","returnfirst+second");console.log(add(1,1));...
代码星球 ·2020-06-27

ES6里关于函数的拓展(一)

一、形参默认值  Javascript函数有一个特别的地方,无论在函数定义中声明了多少形参,都可以传入任意数量的参数,也可以在定义函数时添加针对参数数量的处理逻辑,当已定义的形参无对应的传入参数时为其指定一个默认值  ES5模拟:在ES5中,一般地,通过下列方式创建函数并为参数设置默认值functionmakeRequ...
代码星球 ·2020-06-27

ES6里关于正则表达式的拓展

一、构造函数  在ES5中,RegExp构造函数的参数有两种情况。  第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)varregex=newRegExp('xyz','i');//等价于varregex=/xyz/i;  第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷...

ES6里关于模板字面量的拓展

  JS的字符串相对其他语言来说功能总是有限的,事实上,ES5中一直缺乏许多特性,如多行字符串、字符串格式化、HTML转义等。ES6通过模板字面量的方式进行了填补,模板字面量试着跳出JS已有的字符串体系,通过一些全新的方法来解决类似的问题。一、基本用法  模板字面量是增强版的字符串,它用反引号(`)标识二、多行字符串 ...

ES6里关于字符串的拓展

一、子串识别  自从JS引入了indexOf()方法,开发者们就使用它来识别字符串是否存在于其它字符串中。ES6包含了以下三个方法来满足这类需求:1、includes():该方法在给定文本存在于字符串中的任意位置时会返回true,否则返回false2、startsWith():该方法在给定文本出现在字符串起始处时返回t...
代码星球 ·2020-06-27

ES6里关于数字的拓展

一、指数运算符  ES6引入的唯一一个JS语法变化是求幂运算符,它是一种将指数应用于基数的数学运算。JS已有的Math.pow()方法可以执行求幂运算,但它也是为数不多的需要通过方法而不是正式的运算符来进行求幂  求幂运算符是两个星号(**):左操作数是基数,右操作数是指数letresult=5**2;console....
代码星球 ·2020-06-27

k-近邻算法的优缺点及拓展思考

//2019.08.03晚#k-近邻算法的拓展思考与总结1、k-近邻算法是一种非常典型的分类监督学习算法,它可以解决多分类的问题;另外,它的整体思想简单,效果强大。它也可以用来解决回归问题,使用的库函数为KNeighborsRegressor2、k-近邻算法虽然可以很好地解决多分类问题,但是它也有很多的缺点,具体主要有...
首页上一页123下一页尾页