JavaScript初学者建议:不要去管浏览器兼容
如果可以回到过去的话,我会告诉自己这句话:"初学JavaScript的时候无视DOM和BOM的兼容性"
我初学时的处境
在我初学JavaScript的时候最头痛的就是浏览器兼容问题。在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了。
前端开发工程师的职责就包括跨浏览器开发。所以我就在还不了解JS这门语言本身的时候去花时间学习浏览器兼容知识,这样会让JS学习难度增加。但是不能兼容主流浏览器的代码不能用在实际项目中。
DOM和BOM的兼容性问题一度让我的JavaScript学习停滞不前。语言理解不够,代码又只能在特定浏览器运行。
我的建议
如果你正初学JavaScript并有着和我一样的处境的话我建议你:初学JavaScript的时候无视DOM和BOM的兼容性,将更多的时间花在了解语言本身(ECMAScript)。只在特定浏览器编写代码(Chrome/Firefox/Safari),实际工作中使用成熟的JavaScript框架(jQuery等)。放心,很少有公司会让JS新手用原生JS做前端开发。
学习JS初期无视兼容问题有什么好处
降低学习难度
减少挫败感
花更多的时间学习ECMAScript
什么时候学习JS跨浏览器开发知识
而浏览器兼容问题留到什么时候解决呢?
当你能熟练使用JavaScript框架编写可复用的代码时(jQuery插件或前端控件),或当你准备自己开发一个JavaScript框架时。
其他一些JavaScript初学者建议
千万不要拿JavaScript权威指南当入门书籍
应该用JavaScript高级程序设计(第三版)作为入门书籍
传值和传值、作用域知识必须理解
调试工具必须懂并多用,学会自己捕捉错误。(chrome developer tool/Firebug)
耐心再耐心,对每一个知识点深挖能学的更轻松。
以上就是我的一些分享希望若能帮助到初学JavaScript的你,如果觉得有误导的地方敬请立即指出。
相关推荐
-
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
序号 操作 分类 IE(6.0) FireFox(2.0) Mozilla(1.5) 当前浏览器 备注 1 "." 访问tag的固有属性 OK OK OK OK 2 "." 访问tag的用户定义属性eg: <input type="checkbox" myattr="test"> OK NO NO OK 可以用getAttribute函数 替代 3 obj.getAttribute 访问tag的固有属性 OK OK
-
多浏览器兼容的动态加载 JavaScript 与 CSS第1/2页
在介绍ensure内部的实现之前,让我们先来看看其功能: ensure({ html: "popup.html", javascript: "popup.js", css: "popup.css" }, function() { Popup.show("hello world"); } ); 在这段代码中,ensure首先会确保popup.html.popup.js.popup.css这3个文件的加载,如果都没加载过ensur
-
JavaScript Event学习第二章 Event浏览器兼容性
在这里提出的事件,当他们发生在一个确定的HTML元素上的时候,他们的名字能够被大多数的浏览器所识别.也就是说,浏览器会查找你为这个HTML元素所注册的事件处理程序的脚本,而且会被立即执行. 一开始只有为数很少的一些事件.这些事件在几乎所有的JavaScript浏览器都能运行,即使是那些非常古老的.需要注意的是那些早期的事件只能工作在链接或者表单上,有时候也能运行在整个窗口上,但是其他的大多数HTML元素不行. 时代变迁,很多新的事件也给大家介绍过了.第四代浏览器和更高级的浏览
-
Javascript多种浏览器兼容写法分析第1/3页
示例代码: <body> <table border="1" cellspacing="0" cellpadding="0" id="apple" > <tbody> <tr> <td id="banana" style="color:red" >不吃苹果</td> </tr> </tbody>
-
多浏览器兼容的qq图片轮换效果javascript代码
js图片轮换效果代码_我们 22吨重挖掘机 中星九号直播 考后表情 1 2 3 function $(v){return document.getElementById(v)} var img = $("bimg").getElementsByTagName("div"); var td = $("simg").getElementsByTagName("td"); var text = $("info")
-
javascript浏览器兼容教程之事件处理
1. window.event [分析说明]先看一段代码 复制代码 代码如下: function et(){ alert(event);//IE: [object]} 以上代码在IE运行的结果是[object],而在Firefox无法运行. 因为在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口. [兼容处理]添加对event判断,根据浏览器的不同来得到正确的ev
-
Javascript 多浏览器兼容性问题及解决方案
CSS 多浏览器兼容性问题及解决方案一.document.formName.item("itemName") 问题 问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements ["elementName"]:Firefox 下,只能使用document.formName.elements["elementName"]. 解决方法:统
-
Javascript解决常见浏览器兼容问题的12种方法
如果你不知道原因,不要过于担心,请研究CSS规则并查看这篇文章:使用CSS来修正一切: 20 +常见错误和修复. 如果这些也无效,您可以通过下面列出的12个javascript解决方案修复它,这样您的网页看起来就能跨越所有浏览器了! 在本文中,我们会揭开你在开发web应用是可能会遇到的12个最常见的CSS问题的javascript解决方案. 1. 自动匹配高度 自从我们抛弃了基于Table的页面布局后,创建同等高度栏目或内容盒子的视觉效果已然是一个挑战. 1.1 用jQuery设置匹配高度 这个
-
Javascript 多浏览器兼容总结(实战经验)
一.document.formName.item("itemName") 问题 问题说明:IE下,可以使用 document.formName.item("itemName") 或 document.formName.elements["elementName"]:Firefox下,只能使用document.formName.elements["elementName"]. 解决方法:统一使用document.formName
-
JavaScript初学者建议:不要去管浏览器兼容
如果可以回到过去的话,我会告诉自己这句话:"初学JavaScript的时候无视DOM和BOM的兼容性" 我初学时的处境 在我初学JavaScript的时候最头痛的就是浏览器兼容问题.在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了. 前端开发工程师的职责就包括跨浏览器开发.所以我就在还不了解JS这门语言本身的时候去花时间学习浏览器兼容知识,这样会让JS学习难度增加.但是不能兼容主流浏览器的代码不能用在实际项目中. DOM和BOM
-
谈谈JavaScript中浏览器兼容问题的写法小议
前言 JavaScript中很多坑,其中对浏览器的兼容也是一个问题,本文就简略的归纳了部分针对浏览器兼容问题的写法的例子,旨在便于查找.如果读者有什么好的意见建议,请留言交流,谢谢! window窗口大小 1.在IE9+.Chrome.Firefox.Opera以及Safari中 window.innerHeight获取浏览器窗口的内部高度 window.innerWidth获取浏览器窗口的内部宽度 var msg = "窗口宽度:" + window.innerHeight + &q
-
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
如果你想使一个元素在全屏模式下展现 (比如说 <video>),你可以调用该元素的 requestFullscreen() 方法:这个方法在 Gecko 中的实现是 element.mozRequestFullScreen(),在 WebKit 中为 element.webkitRequestFullscreen(). 比如一个实例: var elem = document.getElementById("myvideo"); if (elem.requestFullscr
-
Javascript字符串浏览器兼容问题分析
本文实例分析了Javascript字符串浏览器兼容问题.分享给大家供大家参考.具体分析如下: 先看下不兼容的写法,若我想获取某个字符串的第几位 复制代码 代码如下: var str='aavvvcc'; console.info(str[0]); 这种写法 在IE 7以下的浏览器都不兼容,以下提供浏览器全兼容的方式 复制代码 代码如下: var str='aavvvcc'; console.info(str.charAt(1)); 使用charAt() 就可以获取字符串中某个字符,并且全部兼容.
-
JavaScript初学者应注意的七个细节详细介绍
种种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的.本文利列举了JavaScript初学者应该注意的七个细节,与大家分享. (1)简化代码 -------------------------------------------------------------------------------- JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 复
-
JavaScript初学者应注意的七个细节小结
每种语言都有它特别的地方,对于JavaScript来说,使用var就可以声明任意类型的变量,这门脚本语言看起来很简单,然而想要写出优雅的代码却是需要不断积累经验的.本文利列举了JavaScript初学者应该注意的七个细节,与大家分享. (1)简化代码 JavaScript定义对象和数组非常简单,我们想要创建一个对象,一般是这样写的: 复制代码 代码如下: var car = new Object(); car.colour = 'red'; car.wheels = 4; car.hubcaps
-
浏览器兼容的JS写法总结
一.元素查找问题 1. document.all[name] (1)现有问题:Firefox不支持document.all[name] (2)解决方法:使用getElementsByName(name),getElementById(id)等来替代. 2. 集合类对象问题 (1)现有问题:IE中对许多集合类对象取用时可以用 (),但在Firefox只能用[]. 如:IE中可以使用document.forms("formName")来返回名字为"form
-
js事件驱动机制 浏览器兼容处理方法
3.1. 事件是如何产生的 * 第一种情况,用户对网页做了某些操作,比如,点击了一个按钮,产生点击事件. 第二种情况,用户没有对网页做操作,也可能产生事件,比如浏览器已经将整个页面加载完毕,会产生加载完成事件.当事件产生以后,浏览器会查找产生事件的节点有没有绑订相应的事件处理代码.如果有,则调用该代码来处理.如果没有,会继续向上查找父节点,有没有对应的事件处理代码(事件冒泡). 3.2. 绑订事件处理代码 ** 1) 绑订事件处理代码到html标记乊上 比如: <a id="a1"
-
javascript初学者常用技巧
本文实例讲解了javascript初学者常用的一些技巧.分享给大家供大家参考之用.具体如下: 一.Javascript程序存放位置 HTML的<body></body>里面 HTML的<head></head>里面 *.js文件里面 二.标准格式 放在HTML的<body></body>里面,当浏览器载入到Body部分的时候就开始执行Javascript <html> <head></head> &
随机推荐
- 正则表达式匹配不包含某些字符串的技巧
- Python xlrd读取excel日期类型的2种方法
- javascript先序遍历DOM树的方法
- 轻松掌握Java建造者模式
- php中出现空白页的原因及解决方法汇总
- android 自定义ScrollView实现背景图片伸缩的实现代码及思路
- php MYSQL 数据备份类
- 浅析PHP递归函数返回值使用方法
- JavaScript利用正则表达式去除日期中的-
- NodeJS url验证(url-valid)的使用方法
- JavaScript中令你抓狂的魔术变量
- javascript 获取元素位置的快速方法 getBoundingClientRect()
- 网页WEB打印控件制作
- MySQL密码忘了怎么办?MySQL重置root密码方法
- linux mysql 数据库开启外部访问设置指南
- MySQL数据表损坏的正确修复方案
- jquery模拟多级复选框效果的简单实例
- JQuery.Ajax()的data参数类型实例详解
- script标签属性用type还是language
- 详解Java的Hibernate框架中的List映射表与Bag映射