首页 文章 精选 留言 我的

精选列表

搜索[javascript],共9002篇文章
优秀的个人博客,低调大师

JavaScript学习(三)

强制类型转换(将一个数据类型强制转换为另一个数据类型) 在JS中如果需要写16进制的数字,需要以0x开头。8进制数字,需要以0开头。2进制数字需要用0b开头 string类型强转 方式一:调用被转换类型的toString()方法。 ----被转换类型.toString() 该方法不会影响到原变量,它会将转换的结果返回。 但是null和undefined不能调用toString方法。 方式二:调用string()函数。 -----直接写string(); 将被转换数据作为参数传递给函数,可以转换null和undefined。 number类型强转 方式三:调用Number函数。 字符串转数值如果是纯数字将直接转换,如果非数字内容则转换为NaN,空字符串将转换为0。 布尔值转数值:false-->0 true-->1 空值转数值:null-->0 未定义转数值:NaN 方式四:调用parseInt() 把一个字符串转换成一个整数。 parseFloat()把字符串转换成一个浮点数。 parseInt()可以将字符串中有效的整数内容取出来。 如果对非string使用,会将其先转换为string。 Boolean类型强转 方式五:调用Boolean()函数。 数字转换为Boolean,除了0和NaN是false,其余都是true。 字符串转换为Boolean,除了空串,其余都是true。 null和undefined都会转换为false。 运算符(操作符) 通过操作符可以对一个值或者多个值进行运算。 算数运算符:+ - * / % 当对非number类型的值进行运算时,将会把值转换成number进行运算。 如果对两个字符串进行加法运算,会把两个字符串拼接成一个字符串并返回。 任何值和字符串进行加法操作,都会把值转换成字符串之后进行拼串操作。 任何值进行减法,乘法,除法操作,都可以转换成number。 %取模运算,除法取余运算。

优秀的个人博客,低调大师

大话 JavaScript 动画

背景 138.2亿年前,世界上没有时间和空间,或许世界都不存在,在一个似有似无的点上,汇集了所有的物质,它孕育着无限的能量与可能性。 宇宙大爆炸 巨大的内力已无法被抑制,瞬间爆发,它爆炸了!世界上有了时间和空间,随着岁月的变迁,时光的流逝,无数的星系、恒星、卫星、彗星形成。我们生活的地球,只是茫茫宇宙中的一个小小的天体,或许在遥远的宇宙的另一边,会有平行世界的存在,或许在那里,我们可能是医生、老师、公务员。科学家说我们的宇宙正在加速度的膨胀,暗能量在无限吞噬着暗物质,未来的世界将会变得虚无缥缈。 人类起源 宇宙的形成,带来了无限可能性,人类释放着欲望和克制,对宇宙的渴望产生于公元前五世纪,古巴比伦人通过观察天体的位置以及外观变化,来预测人世间的各种事物。在遥远的古罗马,人们也舞弄着灵魂,把不羁的想象赋予肉体。Anim,来源于拉丁语,代表着灵

优秀的个人博客,低调大师

JavaScript— console (30)

对于前端开发者来说,在开发过程中需要监控某些表达式或变量的值的时候,用 debugger 会显得过于笨重,取而代之则是会将值输出到控制台上方便调试。最常用的语句就是console.log(expression)了。 然而对于作为一个全局对象的console对象来说,大多数人了解得还并不全面,当然我也是,经过我的一番学习,现在对于这个能玩转控制台的 JS 对象有了一定的认识,想与大家分享一下。 console 对象除了console.log()这一最常被开发者使用的方法之外,还有很多其他的方法。灵活运用这些方法,可以给开发过程增添许多便利。 console 的方法console.assert(expression, object[, object...]) 接收至少两个参数,第一个参数的值或返回值为false的时候,将会在控制台上输出后续参数的值。例如: 对于前端开发者来说,在开发过程中需要监控某些表达式或变量的值的时候,用 debugger 会显得过于笨重,取而代之则是会将值输出到控制台上方便调试。最常用的语句就是console.log(expression)了。 然而对于作为一个全局对象的console对象来说,大多数人了解得还并不全面,当然我也是,经过我的一番学习,现在对于这个能玩转控制台的 JS 对象有了一定的认识,想与大家分享一下。 console 对象除了console.log()这一最常被开发者使用的方法之外,还有很多其他的方法。灵活运用这些方法,可以给开发过程增添许多便利。 console 的方法 console.assert(expression, object[, object...]) 接收至少两个参数,第一个参数的值或返回值为false的时候,将会在控制台上输出后续参数的值。例如: console.count([label]) 输出执行到该行的次数,可选参数 label 可以输出在次数之前,例如: (function() { for (var i = 0; i < 5; i++) { console.count('count'); } })(); // count: 1 // count: 2 // count: 3 // count: 4 // count: 5 console.dir(object) 将传入对象的属性,包括子对象的属性以列表形式输出,例如: var obj = { name: 'classicemi', college: 'HUST', major: 'ei' }; console.dir(obj); 输出: console.error(object[, object...]) 用于输出错误信息,用法和常见的console.log一样,不同点在于输出内容会标记为错误的样式,便于分辨。输出结果: console.group 这是个有趣的方法,它能够让控制台输出的语句产生不同的层级嵌套关系,每一个console.group()会增加一层嵌套,相反要减少一层嵌套可以使用console.groupEnd()方法。语言表述比较无力,看代码: console.log('这是第一层'); console.group(); console.log('这是第二层'); console.log('依然第二层'); console.group(); console.log('第三层了'); console.groupEnd(); console.log('回到第二层'); console.groupEnd(); console.log('回到第一层'); 输出结果: 和console.group()相似的方法是console.groupCollapsed()作用相同,不同点是嵌套的输出内容是折叠状态,在有大段内容输出的时候使用这个方法可以使输出版面不至于太长。。。吧 console.info(object[, object...]) 此方法与之前说到的console.error一样,用于输出信息,没有什么特别之处。 console.info('info'); // 输出 info console.table() 可将传入的对象,或数组以表格形式输出,相比传统树形输出,这种输出方案更适合内部元素排列整齐的对象或数组,不然可能会出现很多的 undefined。 var obj = { foo: { name: 'foo', age: '33' }, bar: { name: 'bar', age: '45' } }; var arr = [ ['foo', '33'], ['bar', '45'] ]; console.table(obj); console.table(arr); 也可以 console.log(object[, object...]) 这个不用多说,这个应该是开发者最常用的吧,也不知道是谁规定的。。。 console.log('log'); // 输出 log console.profile([profileLabel]) 这是个挺高大上的东西,可用于性能分析。在 JS 开发中,我们常常要评估段代码或是某个函数的性能。在函数中手动打印时间固然可以,但显得不够灵活而且有误差。借助控制台以及console.profile()方法我们可以很方便地监控运行性能。 例如下面这段代码: function parent() { for (var i = 0; i < 10000; i++) { childA() } } function childA(j) { for (var i = 0; i < j; i++) {} } console.profile('性能分析'); parent(); console.profileEnd(); 然后我们可以在 Profiles 面板下看到上述代码运行过程中的消耗时间。 页面加载过程的性能优化是前端开发的一个重要部分,使用控制台的 profiles 面板可以监控所有 JS 的运行情况使用方法就像录像机一样,控制台会把运行过程录制下来。如图,工具栏上有录制和停止按钮。 录制结果: console.time(name)计时器,可以将成对的console.time()和console.timeEnd()之间代码的运行时间输出到控制台上,name参数可作为标签名。 console.time('计时器'); for (var i = 0; i < 1000; i++) { for (var j = 0; j < 1000; j++) {} } console.timeEnd('计时器'); (刚才实际多写了一层循环,结果电脑风扇呜呜转啊,浏览器直接无响应了。。。) console.trace() console.trace()用来追踪函数的调用过程。在大型项目尤其是框架开发中,函数的调用轨迹可以十分复杂,console.trace()方法可以将函数的被调用过程清楚地输出到控制台上。 function tracer(a) { console.trace(); return a; } function foo(a) { return bar(a); } function bar(a) { return tracer(a); } var a = foo('tracer'); 输出: console.warn(object[, object...]) 输出参数的内容,作为警告提示。 console.warn('warn'); // 输出 warn 占位符 console对象上的五个直接输出方法,console.log(),console.warn(),console.error(),console.exception()(等同于console.error())和console.info(),都可以使用占位符。支持的占位符有四种,分别是字符(%s)、整数(%d 或 %i)、浮点数(%f)和对象(%o)。 console.log('%s是%d年%d月%d日', '今天', 2014, 4, 15); console.log('圆周率是%f', 3.14159); var obj = { name: 'classicemi' } console.log('%o', obj); 还有一种特殊的标示符%c,对输出的文字可以附加特殊的样式,当进行大型项目开发的时候,代码中可能有很多其他开发者添加的控制台语句。开发者对自己的输出定制特别的样式就可以方便自己在眼花缭乱的输出结果中一眼看到自己需要的内容。想象力丰富的童鞋也可以做出有创意的输出信息,比如常见的招聘信息和个人介绍啥的。 输出结果: console.log('%cMy name is classicemi.', 'color: #fff; background: #f40; font-size: 24px;'); %c标示符可以用各种 CSS 语句来为输出添加样式,再随便举个栗子,background属性的url()中添加图片路径就可以实现图片的输出了,各位前端童鞋快施展你们的 CSS 神技来把控制台玩坏吧~~ 这里推荐一下我的前端学习交流裙:731771211,里面都是学习前端的,群里会不定期更新最新的教程和学习方法,有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的web前端党欢迎加入。

优秀的个人博客,低调大师

JavaScript 队列(一)

队列是遵循FIFO(First In First Out,先进先出,也称为先来先服务)原则的一组有序的项。 队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。 在现实中,最常见的队列的例子就是排队。 function Queue(){//声明队列对象 var items = [];//队列的承载 //向队列尾部添加一个或多个新的项 this.enqueue = function(el){ items.push(el) } //删除队列头部第一个元素 this.dequeue = function(){ return items.shift(); } //返回队列中第一个元素 this.front = function(){ return items[0]; } //确定元素是否为空 为空则为true 不为空则为false this.isEmpty = function(){ return items.length === 0; } //返回队列长度 this.size = function(){ return items.length; } //打印队列 this.print = function(){ console.log(items.toString()) } } 使用队列类: //实例化类 var queue = new Queue(); //验证是否为空 console.log(queue.isEmpty()) //true queue.enqueue('ma'); queue.enqueue('jack'); queue.print();//ma,jack console.log(queue.size())//2 queue.dequeue();//jack queue.print();//jack console.log(queue.size())//1

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册