js
Jackson-p
相信命运,自律自由.
展开
-
(始) parseInt 分析
以前学js的时候没写博客都感觉白学了orz,借liao雪峰官网和牛客前端练习再捡一遍2333,手册MDN定义:parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数参数: string:要被解析的值。如果参数不是一个字符串,则将其转换为字符串。字符串开头的空白符将会被忽略。 radix:一个2到36之间的整数值,用于指定转换中采用的基数。 如果省略该参数或...原创 2018-02-13 11:14:43 · 621 阅读 · 0 评论 -
js 面向对象(三) 原型风格与对象关联风格
总是追求用类似C++或者java的方法去创造对象当然可以,这是一种风格。但还有个人觉得更适用与js这种对象比较多的语言的一种对象创建的风格,有些书里也称之为行为委托即创造一个对象,其他对象使用这个对象的行为的同时,具备自己独特的行为(怎么有点像寄生式继承2333)两种风格实现同一种功能代码量对比://原型风格与对象关联风格// function Foo(who){// this.me=wh...原创 2018-04-01 13:44:56 · 431 阅读 · 0 评论 -
js 面向对象(二) 对象的公有变量和私有变量
es 5中可以用立即函数来表示,表示过程有点儿像js模块化。举例:var foo=(function module(id){ var name="liao"; var sex; var id=id; function getname(){ return name; } function setname(name){ this.name...原创 2018-04-01 13:35:34 · 971 阅读 · 0 评论 -
js 面向对象(一)创建对象与继承
面向对象是一项非常有用的模式,js在初生时并没有考虑太多这方面的问题,后来无数js大牛创造出了这种模式,感觉js创建对象的方法也有很多,工厂模式,原型模式,构造函数模式等等。。。。各大教科书高程什么的讲得很全,个人筛选出了可能比较好的两种模式,毕竟没法记住所有的方法。。创建对象法一:组合使用构造函数模式和原型模式function Person(name,sex,height){ this.n...原创 2018-04-01 11:52:04 · 713 阅读 · 0 评论 -
js定时器 setTimeout
定时器心路历程:。。(消遣文)正常的话会想先试试闭包与立即函数。。first:function timer(period){ for(var i=0;i<period;i++) { setTimeout(function(){ return (function(n){ console.log(n); ...原创 2018-03-31 23:12:30 · 2036 阅读 · 0 评论 -
Js 事件委托
在一个复杂的Web应用程序中,如果我们对一个父元素的许多子元素设置点击后触发函数,一个一个设置是很费劲而消耗内存的,所以想这种用到按钮的事件(多数鼠标事件和键盘事件)要用到事件委托,即在DOM树中尽量最高的层次上添加一个事件处理程序即可。样例:<!DOCTYPE html><html><head> <title>test</tit...原创 2018-03-24 16:52:36 · 179 阅读 · 0 评论 -
js小题狂练(5)--拆分数字
expandedForm(12); // Should return '10 + 2'expandedForm(42); // Should return '40 + 2'expandedForm(70304); // Should return '70000 + 300 + 4'人类的解法:function expandedForm(num) { res={}; ans=[]; ...原创 2018-03-30 11:34:05 · 814 阅读 · 0 评论 -
js小题狂练(4)-- 求任意维数组的最大最小值
// minMax([1,2,3,4,5]) == [1,5]// minMax([2334454,5]) == [5, 2334454]// minMax([1]) == [1, 1]function minMax(arr){ var res=arr.join(',').split(','); return ([Math.min.apply(null,re...原创 2018-03-30 10:56:31 · 216 阅读 · 0 评论 -
JS实现类与继承
算是东拼西凑的一篇文章吧,但是确实觉得js实现类和公有私有方法,也就是面向对象的一些东西是蛮重要的基础知识JavaScript中的类JavaScript实际上是一种弱类型语言,与C++和Java等语言不同。因此,在JavaScript中,没有强调类(class)这一概念,但实际运用中,类还是很重要的,比如写一款游戏,如果我们不停地调用函数来完成创建角色,移动角色的话,那会是什么样的呢?可能会出现非...转载 2018-02-22 10:02:11 · 4019 阅读 · 0 评论 -
JS 创建对象的7种模式
ECMA-262把对象定义为:”无需属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说明对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正因为这样,我们可以把ECMAScript的对象想象成散列表:无非就是一组名对值,其中值可以是数据或函数。 创建自定义对象最简单的方式就是创建一个Object的实例,然后再为他添加属性和方...转载 2018-02-22 08:01:26 · 194 阅读 · 0 评论 -
js 快速排序
一道小题233,不稳定排序,平均时间复杂度O(nlogn),最坏复杂度O(n^2);代码(直接cp到控制台就行)function quicksort(arr){ if(arr.length<=1) return arr; var mid=Math.floor((arr.length-1)/2); var midval=arr.splice(mid,1...原创 2018-02-20 23:20:48 · 320 阅读 · 0 评论 -
js小题狂练(3)-一个字符串中出现次数最多的字符
这个题还是挺常见的,做C++的题中算是很基础的题了,js的话略现不同,要么用自己的小hash要么用排序和js的函数法一:小hash版,直接记录每个字符的出现次数保存到数组里面function timestset(str){ var hash={}; for(var i=0;i<str.length;i++) { if(!hash[str[i]]) ...原创 2018-03-08 11:31:42 · 285 阅读 · 0 评论 -
js小题狂练(1)-map+reduce字符串转整型
from 廖雪峰js教程想办法把一个字符串13579先变成Array——[1, 3, 5, 7, 9],再利用reduce()就可以写出一个把字符串转换为Number的函数。不要使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数:// 测试:if (string2int('0') === 0 && string...原创 2018-02-15 00:20:31 · 1922 阅读 · 3 评论 -
js小题狂练(3)-筛素数
选自廖雪峰js教程请尝试用filter()筛选出素数:// 测试:var x, r, arr = [];for (x = 1; x < 100; x++) { arr.push(x);}r = get_primes(arr);if (r.toString() === [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 3...原创 2018-02-16 14:49:33 · 213 阅读 · 0 评论 -
js小题狂练(2)-用户英文名规范
from 廖雪峰js教程请把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']。// 测试:if (normalize(['adam', 'LISA', 'barT']).toString() === ['Adam', 'Lisa', 'Bart'].toString())...原创 2018-02-16 14:33:44 · 1226 阅读 · 0 评论