看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4]; var ans = Math.max.apply(null, a); console.log(ans); // 6 这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: var ans = Math.max(1, 2, 3, 4, 5, 6); console.lo…
汤姆大叔的6道javascript编程题题解 看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) 1 2 3 var a = [1, 2, 3, 6, 5, 4]; var ans = Math.max.apply(null, a); console.log(ans);  // 6 这题很巧妙地用了apply,如果不是数组,是很多数字求最大值,我们知道可以这样: 1 2 var ans = Math…
感觉大叔的博文真的是很不错 我打算严格要求自己 按照大叔说的,这样我就会更有规范,更有思想的去工作 去写代码(一入代码深似海)   1,尽可能的少用全局变量(污染全局空间,也会和别人的代码 发生冲突造成严重的后果) ---->命名空间模式或者是函数立即自动执行.   2.不管是不是在函数内始终用var来声明变量, 例如: function sum(x, y){  result = x + y; //这里创建了一个隐式全局变量  return result; }   3.避免出现隐式变量 例如在函…
一. 下面代码用于理解函数的声明和调用. function makeCounter() { // 只能在makeCounter内部访问i var i = 0; return function () { console.log(++i); }; } // 注意,counter和counter2是不同的实例,分别有自己范围内的i. var counter = makeCounter(); counter(); // logs: 1 counter(); // logs: 2 var counter2…
看了汤姆大叔的“你真懂JavaScript吗?”,里面有5道题目,我都一一作了,然后在chrome的控制台里面运行了一遍,虽然只错了一道,但还是细细读了下答案,在此总结一下,看看是否对大家对这些JavaScript底层的原理都懂了. 题目一(所有全局变量都是window的属性.变量声明提前.变量赋值不会提前) if (!("a" in window)) { var a = 1; } alert(a); 因为在JavaScript在变量声明提前的特性,所以事实上上述代码相当于下面所示:…
博客链接:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 原题: 大叔注:这些题目也是来自出这5个题目的人,当然如果你能答对4个及以上并且想拿高工资的话,请联系我. 找出数字数组中最大的元素(使用Match.max函数) 转化一个数字数组为function数组(每个function都弹出相应的数字) 给object数组进行排序(排序条件是每个元素对象的属性个数) 利用JavaScript打印出Fibonacci数(不使用全…
深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6…
前言 闲来看看javascript,在圆子里发现了汤姆大叔的文章,先是整体瞄了几眼,感觉不错,然后细细研读.记录下自己的学习历程和个人理解.更重要的是作为笔记 高质量JS代码 在看汤姆大叔的这一系列文章之前,写过js代码,但是没有多少理解(虽然现在也只是一个皮毛). 最小全局变量规则 js的作用域是通过函数来进行控制.函数内部申明的变量是函数内部使用,函数外不可用.而全局变量是函数外部或函数内部未申明直接使用的. 每个js环境都有一个全局对象即window,当你在任意函数外使用this都是指向他…
一.关于动态注册的问题 很多人看过汤姆大叔的MVC之前的那点事儿系列(6):动态注册HttpModule ,其实汤姆大叔没有发现httpmodule动态注册的根本机制在哪里. 亦即:怎么动态注册?为什么能够动态注册? 汤姆大叔给了如下开篇 通过前面的章节,我们知道HttpApplication在初始化的时候会初始化所有配置文件里注册的HttpModules,那么有一个疑问,能否初始化之前动态加载HttpModule,而不是只从Web.config里读取? 答案是肯定的, ASP.NET MVC3…
继续汤姆大叔的js之旅. 揭秘命名函数表达式 函数表达式和函数声明 汤姆大叔在博客中引用ECMA规范:函数声明必须带有标识符,函数表达式可以省略.对于我来说这些概念的东西真是不所适从.还是大叔的实例带劲.上实例如下: function foo(){};//鬼都知道是声明 var bar = function foo(){};//鬼也知道是表达式 new function bar(){}; (function() { function bar(){};//这也是声明 })();这些大家看看应该都很…
作者:ManfredHu 链接:http://www.manfredhu.com/2016/04/02/15-veryGoodForUsing/ 声明:版权所有,转载请保留本段信息,否则请不要转载 几道觉得挺有意思的编程题,感觉做下来,自己对一些新方法的看法有了新的变化. 比如indexOf,reduce,Array.isArray,forEach这些方法,以前一看到兼容性是IE9+就有点害怕,项目中不敢用,导致后面越来越陌生,不过现在一想的话.其实只要用Polyfill或者提前fix掉就可以了…
深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6…
原题目地址:http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 答案丰富多彩.我只是记录下自己思考了半天全部的答案. 题目一:找出数字数组中最大的元素(使用Match.max函数) 这个题目,看到Match,不知道啥东西,结果放在最后, 用了个很笨的解决方法: var arr=[0,1,2,3,4,5,6,7,8,9],arrFunc = [], max = -Infinity for(var i = 0, l = arr.l…
一段简单的JavaScript代码思考 先看一段简单的代码,打印结果是??为什么why?? 从上述打印结果不难看出,在打印基本变量num.函数表达式fn.函数声明fun时,就已经知道变量num.函数表达式fn值为undefined,函数声明fun值为function 但这样会存在一个疑问?js在代码执行之前打印时(变量.函数表达式.函数声明)就存在值,那么在打印(变量.函数表达式.函数声明)之前究竟发了什么?? [答案是变量对象.执行上下文代码的2个阶段] (当然 打印在基本变量num.函数表达…
几道JS题目 之前没有深入研究js语言,最近几年前端越来越工程化,需要扎实的js基础,看到博客园上有很多大牛分享JS学习文章,幸运看到tom大叔的blog,抽时间潜心学习了其文章,遇到到其出的几道题目,尝试自己解决,以测试自己的js水平. http://www.cnblogs.com/TomXu/archive/2012/02/10/2342098.html 找出数字数组中最大的元素(使用Match.max函数) 转化一个数字数组为function数组(每个function都弹出相应的数字) 给…
1.字面量 (1)他们是固定的值,不是变量,让你从“字面上”理解脚本. (2)字符串字面量是由双引号("")或单引号('')包围起来的零个或多个字符串组成的. (3)对象字面量是由花括号({})括起来的零个或多个对象的属性(key-value对). 2.何时是JSON,何时不是JSON JSON是设计成描述数据交换格式的,他也有自己的语法,这是语法是JavaScript的子集. {"proporty":"value"}这样的声明可能是JavaSc…
最近要把这些给翻个遍 加油  js 隐式全局变量 读后感 1:js 没有变量名称是否重复定义的检查,在cshrp里有这样的检查, 没有变量名称重复的检查,这样 当变量名称 重复定义的时候 相同命名的变量的值会串.…
最近在学习<数据结构与算法JavaScript描述>这本书,对JavaScript的特性和数据结构都有了进一步的了解和体会. 学习之余,也进行了相应的练习,题目难度不大,但是对所学知识的巩固十分有帮助,所以在这里和大家做一个分享. 注:题目主要来源于牛客网,这是一个不错的网站,对于代码的学习和自我能力的检验很有帮助,有兴趣的朋友可以去看看. 这些题目解法绝大多数是根据自己的思路做的,并且几乎都采用了多种方法,某些方法参考了网站中其他朋友的代码,如果 有更好的解法也欢迎大家提出来,我会进行详细的…
题目:实现以下功能 1. 点击按钮“打开新窗口”,打开新的子页面,要求新窗口的大小为400px X 200px 2. 输入地址信息,点击“确定”按钮,关闭该页面 3. 将子页面中输入的地址信息,回传到父页面的地址信息文本栏位中 解: 事先准备:弄出来设置cookie和获取cookie两个函数. function setCookie(name, value,times) { var oDate = new Date(); document.cookie = name + '=' + value +…
使用Javascript脚板输出如图所示的效果页面: 使用document.write()输出水平线 使用循环控制每个水平线的长度 答案:<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta…
蚂蚁爬杆 问题描述: 有一根27厘米的细木杆,在第3厘米.7厘米.11厘米.17厘米.23厘米这五个位置上各有一只蚂蚁.木杆很细,不能同时通过一只蚂蚁.开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退.当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走.假设蚂蚁们每秒钟可以走一厘米的距离.编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间. 解决方案: 网上有一种解法是这样的 public class Ants{ public static void main(String…
//1088(参考博客:http://blog.csdn.net/libin56842/article/details/8950688)//1.编写一个浏览器输入输出(hdu acm1088)://思路:对已经输入的字符串进行处理,遇到<br><hr>分别进行处理.遇到多于80个字符(统计该行的长度)或者<br>或者结束,则换行:遇到<hr>,输出80个'-'.#include<stdio.h>#include<string.h>#d…
Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号. 满足:1<=n<=1000 .1<=k<=1000 .序号是在int范围内正整数. 输出 输出最多多少个灯泡点亮. 样例输入 3 1 1 1 2 2 1 2 样例输出 2 思路 这道题是一个去重的问题,即多个开关…
生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回文串,而"ABCD","AAB"不是回文串. 牛牛特别喜欢回文串,他手中有一个字符串s,牛牛在思考能否从字符串中移除部分(0个或多个)字符使其变为回文串,并且牛牛认 为空串不是回文串. 牛牛发现移除的方案可能有很多种,希望你来帮他计算一下一共有多少种移除方案可以使s变为…
字典序最大子序列 题目描述 对于字符串a和b,如果移除字符串a中的一些字母(可以全部移除,也可以一个都不移除)就能够得到字符串b我们就称b是a的子序列. 例如."heo"是"hello"的子序列,而"xl"不是. 对于给定的一个字符串s,请计算出s的字典序最大的子序列. 输入描述: 输入包括一行,一个字符串s,字符串a长度Length(1 <= 1ength <= 50).s中每个字符都是小写字母 输出描述: 输出一个字符串,即a的字…
第一题 和谐的数字 牛牛很喜欢研究数字.一天,他发明了一种数字,叫做“和谐的数字”. 和谐的数字定义如下: 定义S(n)为数字n各位数字之和,如果S(n)能够整除n,那么就称n为一个“和谐的数字”. 现在给出数字n,请你判断这是否是一个“和谐的数字”. 输入描述: 输入的第一行包括一个正整数t(1 <= t <= 20), 表示情况数 接下来t行,每行一个正整数n(1 <= n <= 109) 输出描述: 对于每个正整数n, 如果n是和谐的数字,输出"Yes",…
题目来自 25 Essential JavaScript Interview Questions.闲来无事,正好切一下. 一 What is a potential pitfall with using typeof bar === "object" to determine if bar is an object? How can this pitfall be avoided? 老生常谈的问题,用 typeof 是否能准确判断一个对象变量,答案是否定的,null 的结果也是 obj…
译者汤姆大叔,应该很多人都知道,他写了一系列的关于闭包与作用域理解的文章,但是由于创建了一些我不理解的新名词,我不爱看. <JavaScript编程精解>算是买得比较早的一本书,那会大肆搜罗js基础书籍,这本应该是在我看完<javascript高级程序设计(第二版)>之后,紧接着看的,金玉在前,所以,原谅我对它的印象不够好,另外,我没有耐心按照书中生态圈的例子一点一点敲代码,对很多人提到的这本书的趣味性也就没有体会. 关于内容,首先,它不适合没有基础的读者看,会有一点难看懂.第二,…
javascript编程开发修炼之道   提要文摘附注: 本文的核心内容是围绕javascript前端开发的编程技术要素,来深入地探讨编写高质量的javascript代码的方法.技巧.规范和最佳实践,从而为编写易于维护的Web前端代码打下坚实的基础. 作者:贵源网络 1.javascript基础类库 2.创建静态对象 var obj = {}.window['obj']={}; 3.创建实例对象 function fn(){} fn.prototype = {} 4.function对象自执行函…
Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么.我非常推荐这个演讲,它不仅有助于学习Javascript,而且能让你心情舒畅,因为Crockford讲得很幽默,时不时让听众会心一笑.下面,我根据这个演讲和Crockford编写的代码规范,总结一下"Javascript编程风格". 所谓"编程风格"(programming style),指…