JS
SongChunMin_
互联网行业,只有不断学习,才不会被淘汰。
展开
-
JavaScript的发展史
一、诞生JavaScript 因为互联网而生,紧跟着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。1990年底,欧洲核能研究组织(CERN)科学家 Tim Berners-Lee,在全世界最大的电脑网络——互联网的基础上,发明了万维网(World Wide Web),从此可以在网上浏览网页文件。最早的网页只能在操作系统的终端里浏览,也就是说只能使用命令行操作,网页都是在字符窗口...原创 2020-04-15 23:02:44 · 192 阅读 · 0 评论 -
浏览器的渲染原理简介
1)不要一条一条地修改DOM的样式。与其这样,还不如预先定义好css的class,然后修改DOM的className。1234567891011// badvar left = 10,top = 10;el.style.left = left + "px";el.style.top = top + "px"; // Goodel.className += " theclassname"; // Goodel.style.cssText += "; left:原创 2017-02-28 09:02:47 · 723 阅读 · 0 评论 -
js中bind、call、apply函数的用法
js 里函数调用有 4 种模式:方法调用、正常函数调用、构造器函数调用、apply/call 调用。同时,无论哪种函数调用除了你声明时定义的形参外,还会自动添加 2 个形参,分别是 this 和 arguments。arguments 不涉及到上述 3 个函数,所以这里只谈 this。this 的值,在上面 4 中调用模式下,分别会绑定不同的值。转载 2017-02-28 10:36:35 · 864 阅读 · 0 评论 -
JavaScript 对象转换之 toString 和 valueOf
开始这个话题之前,我们先看一下下面的几个例子:parseInt(0.0000004) // 4![]==[] //true['x','y'] == 'x,y' //truealert({name:'mofei'}) //"[object Object]"结果有时候会让我大吃一惊,这是为什么呢?今天就和大家讨论一下JavaScript的对象转换。基础类型先让我们原创 2017-02-28 22:15:02 · 999 阅读 · 0 评论 -
原生JS实现addClass,removeClass,toggleClass
jQuery操作class的方式非常强大,但是目前还有一些人不知道如何使用或者由于项目统一性的原因无法使用jquery.在此写了一个利用原生js来实现对dom元素class的操作方法转载 2017-02-15 14:56:32 · 5705 阅读 · 0 评论 -
chrome不能断点调试的解决方法
chrome的调试功能实在是太强大了,相比之下ie的就是一垃圾。最近在调试时出现一种情况,死活不能设置断点,也不能跟踪调试,这下抓狂了。JS也是非常简单的,也没有压缩。为什么就不能调试呢?转载 2017-02-27 11:08:24 · 2770 阅读 · 0 评论 -
http/2.0与http/1.1区别
HTTP/2采用二进制格式而非文本格式HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行使用报头压缩,HTTP/2降低了开销HTTP/2让服务器可以将响应主动“推送”到客户端缓存中原创 2017-03-06 10:38:42 · 873 阅读 · 0 评论 -
JS 终止执行的方法
(一)在function里面(1)return;(2)return false;(二)非function方法里面alert("before error.");throw SyntaxError();alert("after error.");原创 2016-04-28 11:42:39 · 5965 阅读 · 0 评论 -
理解cookie的path和domain属性
理解cookie的path和domain属性转载 2017-03-21 17:15:04 · 768 阅读 · 0 评论 -
前端跨越(安全限制)
前端跨越(安全限制)原创 2017-03-22 18:14:46 · 938 阅读 · 0 评论 -
attribute和property的区别
DOM元素的attribute和property很容易混倄在一起,分不清楚,两者是不同的东西,但是两者又联系紧密。很多新手朋友,也包括以前的我,经常会搞不清楚。attribute翻译成中文术语为“特性”,property翻译成中文术语为“属性”,从中文的字面意思来看,确实是有点区别了,先来说说attribute。attribute是一个特性节点,每个DOM元素都有一个对应的attributes属性来存放所有的attribute节点,attributes是一个类数组的容器,说得准确点就是NameNodeM原创 2017-03-13 17:34:14 · 873 阅读 · 0 评论 -
聊一聊 cookie
聊一聊 cookie原创 2017-03-30 15:48:15 · 851 阅读 · 0 评论 -
H5游戏开发之phaser学习笔记(一)
H5游戏开发之phaser学习笔记(一)转载 2017-04-09 11:01:14 · 4701 阅读 · 0 评论 -
JS命名空间(namespace)
命名空间namespace(某些语言中叫package),是一个在静态语言中常见的概念。它可以帮助我们更好地整理代码,并可避免命名冲突。原创 2017-02-16 22:30:15 · 685 阅读 · 0 评论 -
addEventListener()与removeEventListener()
addEventListener()与removeEventListener()原创 2017-02-08 17:03:39 · 590 阅读 · 0 评论 -
js数据类型判断和数组判断
js数据类型判断和数组判断js六大数据类型:number、string、object、Boolean、null、undefinedstring: 由单引号或双引号来说明,如"string"number:什么整数啊浮点数啊都叫数字,你懂的~Boolean: 就是true和false啦undefined:未定义,就是你创建一个变量后却没给它赋值~null: 故名思久,null就是没有,什么也不表示object: 这个我也很难解释的说。就是除了上面五种之外的类型转载 2017-01-09 11:08:37 · 725 阅读 · 0 评论 -
js:字符串(string)转json
第一种方式:使用js函数eval();testJson=eval(testJson);是错误的转换方式。正确的转换方式需要加(): testJson = eval("(" + testJson + ")");eval()的速度非常快,但是他可以编译以及执行任何JavaScript程序,所以会存在安全问题。在使用eval()。来源必须是值得信赖的。需要使用更安全的json解析器。在服转载 2016-05-13 17:21:43 · 781 阅读 · 0 评论 -
javascript Date format(js日期格式化)
javascript Date format(js日期格式化)原创 2016-07-22 15:30:59 · 1268 阅读 · 0 评论 -
gulp的简单使用(MAC OX 系统)
gulp的简单使用,我这里主要介绍,常用的功能:压缩JS和CSS原创 2016-06-16 11:26:18 · 20552 阅读 · 5 评论 -
QQ浏览器X5内核问题汇总
重要更新,X5内核即将更新为Blink内核,到时候下面的这些问题将全部被修复。X5内核开发团队也给开发者们提供了不少指引,推荐关注: http://x5.tencent.com/guide?id=2001转载 2016-10-18 10:26:01 · 4650 阅读 · 0 评论 -
移动端input 无法获取焦点的问题
移动端input 无法获取焦点的问题转载 2016-10-18 10:37:28 · 12846 阅读 · 0 评论 -
解决IE不支持Data.parse()的问题
IE不能识别JS函数Date.parse的解决方法 ,当我们用JS计算两个时间的间隔时,我们会用到Date.parse 这个JS函数。原创 2016-11-10 19:26:56 · 822 阅读 · 0 评论 -
CSS3伪类和伪元素的特性和区别
前端er们大都或多或少地接触过CSS伪类和伪元素,比如最常见的:focus,:hover以及<a>标签的:link、visited等,伪元素较常见的比如:before、:after等。其实上面提到的这些伪类和伪元素都是CSS1和CSS2中的概念,CSS1和CSS2中对伪类的伪元素的区别比较模糊,甚至经常有同行将:before、:after称为伪类。CSS3对这两个概念做了相对较清晰地概念,并且在语法上也很明显的讲二者区别开。转载 2016-11-15 14:20:48 · 907 阅读 · 0 评论 -
addEventListener和on的区别
addEventListener和on的区别转载 2016-12-01 14:44:41 · 997 阅读 · 0 评论 -
React JS 组件间沟通的一些方法
简单的的组件沟通可以用传props和callback的方法实现,然而,随着项目规模的扩大,组件就会嵌套得越来越深,这时候使用这个方法就有点不太适合。全局事件可以让组件直接沟通,但频繁使用事件会让数据流动变得很乱。如果兄弟组件共同的父组件嵌套得太深,在这个父组件设置context从而直接传递数据和callback到这两个兄弟组件中。使用redux可以让你整个项目的数据流向十分清晰,但是很容易会出现组件嵌套太深的情况,events和context都可以解决这个问题。Transdux是一个类redux框架,使用这转载 2016-12-13 11:10:27 · 5624 阅读 · 0 评论 -
容易被误解的overflow:hidden
为了页面的健壮性,我们常常需要使用overflow:hidden。有时候是为了防止布局被撑开,有时候是为了配合其它规则实现文字截断,还有时候纯粹是为了创建块级上下文。但是,很多人对这个属性是存在着一定的误解的。网上很多入门的资料或文章都只提到用overflow:hidden加固定的宽度(或高度)可以强制隐藏内部的超出容器的内容。包括之前我们在使用overflow:hidden创建块级上下文的方式来实现图文混排时,都认为overflow:hidden造成了特殊情况下的麻烦。但如果认真阅读一下css规范,会原创 2016-12-24 15:10:38 · 1315 阅读 · 0 评论 -
js 替换 当前URL 特定参数
js 替换 当前URL 特定参数原创 2017-01-09 10:19:58 · 7335 阅读 · 0 评论 -
js中遍历Map对象
js中遍历Map对象for(var key in jsonData) console.log("属性:" + key + ",值:"+ jsonData[key]); }原创 2017-01-09 11:07:42 · 4733 阅读 · 0 评论 -
如何判断一个js对象是否一个DOM对象
我们在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法。要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性,有tagName属性,等等。判断的特征越多,也就越可靠,因为毕竟我们自定义的js对象也可以有那些属性。还有其他方法吗?在DOM Level2标准原创 2016-05-11 18:56:18 · 5282 阅读 · 0 评论