JavaScript (03)-大话JS,屌丝逆袭(二)

来源:互联网 发布:怎样发链接淘宝网 编辑:程序博客网 时间:2024/05/06 09:49

前言


最近在学习 JS ,了解它的历史后感觉非常有意思,恰巧最近也在阅读并学习一些技术很厉害的牛人,模仿他们的一些文章写下这篇”屌丝逆袭”,用来了解 JavaScript 。
看这里, 就是我,大名鼎鼎的Javascript, 众人眼中的高富帅,前端编程之王;不过,在我还是一个屌丝的时候,谁也没能想到,我会发展到今天这个样子…



成长


Java 是当时的明星语言, 年轻,活力四射 , 他经常嘲笑我: 你小子到底是个计算机语言吗?


我说“是啊, 我的语法和你差不多呢”


Java: “你为什么只能在浏览器中运行啊? 你能写个程序单独运行吗, 哎对了你能读取一个文件吗 ?”


我当然读取不了文件,我生活在浏览器里, 用我写的程序只能嵌入在html网页中, 由浏览器中来执行。他们给这个执行模块起了一个很有动感的名字: javascript 引擎
我于是反击Java : “我有个引擎你知道吗?”


但是Java 轻松就把我打翻在地: “劳资还特么有个虚拟机呢”


年长的C也问我:你怎么不编译运行啊, 你看我编译以后,运行的多快。


我说: 省省吧, 要是每个页面打开后都先编译javascript ,那多慢啊。


不仅仅是Java 和C , 包括VB, Delphi等当时流行的语言都瞧不起我,背地里叫我屌丝。


也是, 我没法独立运行, 也不能像VB,Delphi他们画出漂亮的界面, 我能做的就是操作HTML 的DOM 和浏览器。


你可能不知道DOM是什么东西, 这么说吧, 浏览器从服务器取到HTML网页以后, 会展示成页面让你看, 但是他的内部其实会把HTML组织成一个树给我;


这个树可以称为DOM。 例如这个页面:

<html> <head>   <title>Sample Page</title> </head> <body>   <p>hello world!</p> </body></html>


DOM树会长成这样:



这里写图片描述



(该例子来自w3school)





有了这棵树, 我就能大展身手,我可以定位到DOM树中任意一个节点, 然后对这个节点进行操作, 例如隐藏节点、显示节点、改变颜色、获得文本的值, 改变文本的值 ,添加一个响应点击事件的函数 等等等等, 几乎可以为所欲为了。


更重要的是, 这些操作可以立刻展示出效果来, 你完全不用刷新网页。
注意这些操作完全是内部进行的, html源码并不会改变, 所以有时候你打开html源码,会发现这些源码和你在浏览器中看的效果并不一致, 那就是我在背后改变了这个DOM树了。


我的主人Brendan Eich最初遇到的问题简直就是小菜一碟了, 做个简单的表单验证,太简单了。
不只是操作DOM, 我还能控制浏览器, 比如打开窗口, 在一个窗口内前进,后退, 获得浏览器的名称, 版本 等等。


你可能要问了, 为啥还要获得浏览器的名称和版本呢?
说起来惭愧, 在Netscape 和IE 进行浏览器之战的期间, 他们都争相在自己的浏览器中支持Javascript, 并且为了锁定程序员, 还开发了很多自己浏览器的独特功能, 有些功能只能在IE用, 有些只能在Netscape 用, 所以必须的判断是什么浏览器, 这样才能特殊处理。
不管怎么说, 我的这些本事让浏览器中的网页变的更加动态了, 更加有趣好玩了。


但仅限于此, 我被困在浏览器和网页上, 别的什么也干不了。
用Java 的话来说: 这些都是雕虫小技,奇技淫巧, 只是一个打着我的羊头卖狗肉的屌丝而已。












这里写图片描述

0 0
原创粉丝点击