everycode icon indicating copy to clipboard operation
everycode copied to clipboard

Javascript 每日一练

Results 48 everycode issues
Sort by recently updated
recently updated
newest added

创建一个函数,将传入的数字相加,支持链式调用。 ``` javascript function add(n){ // param Number } ``` ``` javascript add(1) // 1 ``` 我们也可以多次链式调用 ``` javascript add(1)(2)(3); // 6 add(1)(2)(3)(4); // 10 add(1)(2)(3)(4)(5); // 15 ``` 也要支持,存储和重用。...

难度4

``` javascript /* * 在String对象的原型上创建一个方法,实现以下功能 * "String".reverse() // return "gnirtS" * "Super awesome string here" //return "ereh gnirts emosewa repuS" * * */ String.prototype.reverse = function(){ }; //测试代码 "asdf".reverse() ===...

难度6

清明放假了,俺也来贡献一道题目吧。 有时候吧,咱会自己写份JSON文件来模拟服务端响应的数据。 假设你在给一个阅读app做一项“换一批书”的功能,它会随机返回一串既有书籍数据中的n项(这个n是可定义范围的): ``` javascript var books = [{"name":"高级程序设计","version":"2","cover":"1.jpg"}, {"name":"高级程序设计","version":"3","cover":"2.jpg"}, {"name":"霸道总裁","version":"1","cover":"3.jpg"}, {"name":"烹饪大全","version":"1","cover":"4.jpg"}, {"name":"乔布斯自传","version":"2","cover":"5.jpg"}, {"name":"时间简史","version":"2","cover":"6.jpg"}, {"name":"辞海","version":"3","cover":"7.jpg"}, {"name":"简爱","version":"2","cover":"8.jpg"}]; function pickSome(books,min,max){ //TODO:随机返回[min,max]本书 } console.log(pickSome(books,2,4));//随机返回2本或3本或4本书,结果可能如下: //[{"name":"高级程序设计","version":"3","cover":"2.jpg"}, // {"name":"乔布斯自传","version":"2","cover":"5.jpg"}, // {"name":"时间简史","version":"2","cover":"6.jpg"}, // {"name":"霸道总裁","version":"1","cover":"3.jpg"}] ``` 噢亲爱的请注意下,咱全部书籍数据里可能有多本同名的书呢(比如“高级程序设计”),咱不太希望用户换到的数据里有两本名字一样的书(即使它们版本不一样),所以这里也要处理下哦。

`console.log`这个是我们经常调试页面的时候用的工具,但是有时候呢,我们只需要这个日志只输出一次(通常出现在node上),实现以下需求: 完成一个函数,函数接收一个参数`function`,执行完了之后第二次就失效~~~ 么么哒,今天开会改BUG,忙疯了!!! ``` javascript function once(fn){ return fn } logOnce = once(console.log) logOnce("foo") // -> "foo" logOnce("bar") // -> no effect ```

难度6

现在你有一个复杂的多重嵌套的对象,但是你莫名蛋疼,突然就不想用`if obj.property == null`这个方法。于是乎打算,在`Object`的原型上创建一个方法(`prototype method`),传递一个路径,返回`undefined` 或 值(`value`); ``` javascript Object.prototype.hash = function(path){ } var obj = { person: { name: 'joe', history: { hometown: 'bratislava', bio: { funFact: 'I like...

难度6

创建一个函数`isPrime`判断传入的参数是否为素数(质数),返回`true` 或 `false`。 ``` javascript function isPrime(number){ } //请做以下测试 isPrime(0) // => false isPrime(1) // => false isPrime(2) // => true isPrime(4) // => false isPrime(157) //=> true ```

难度6

``` javascript function a(x,y){ y = function(){x=2;}; return function(){ var x = 3; y(); console.log(x); }.apply(this,arguments); } a(); //求最后的输出 //题目来自 //https://gist.github.com/ruanyf/cae49b92b0bd43c4d57d ```

难度6

周末的惊喜,试试递归,依旧还是实现一个斐波那契数。 ``` javascript /* 参数 number 返回 number */ function fib(num){ } fib(1); // === 0 fib(2); // === 1 fib(3); // === 1 fib(4); // === 2 fib(5); //...

难度6

``` javascript //今天的题目好简单,一个挺有意思的Number,代码是JQ源码里面的一段,默认值 {name:"serverSentEvents",supportsKeepAlive:!0,timeOut:3e3,start:function(e,o,s){}} //那么问题来了,求`3e3`的值 function getValue(){ return //should return 3e3 value } ```

难度7

今天题目比以往简单。 一个 IP 比如 `128.32.10.1`,我们能变成二进制: - 128: 10000000 - 32: 00100000 - 10: 00001010 - 1: 00000001 把它们黏起来就变成了 `10000000001000000000101000000001`,变成十进制就是 `2149583361`。 所以我们要做的是给你类似于 `2149583361` 这么个数字,你给还原成 IP。 ``` javascript function int32ToIp(int32) { //......

难度7