JavaScript

  • 说说JavaScript

接触JavaScript时间其实已经不短了,之前一直是半瓶酱油,东凑西凑的收集相关的知识。并没有完整系统的学习过JavaScript,觉得JavaScript比起C、Java、C#类似的要简单多了,但是通过最近的学习,才感觉到自己是多么的肤浅。。PS:这里要打一下广告,最近我学习JavaScript是通过一本书学习的------《JavaScript高级程序设计》,这本书真的很不错,推荐给大家。

那么,到底什么是JavaScript?语言?脚本?程序?相信这些都是围绕ta的代名词。在我看来,要给ta下定义之前,不如看看ta到底是干什么的。我们知道ta绝大多数的工作场景是Browser,也就是浏览器。那么问题来了,浏览器怎么看待它?浏览器是通过网络分享信息的最为重要的一种工具,HTML代码提供信息来源,CSS提供展示信息的色彩、效果,而JavaScript的作用是浏览器与人分享信息的一种动态交互效果。总听到"用户体验",我的理解就是浏览器中所展现的内容是否容易被我们接受、获取。对于浏览器而言,JavaScript是什么?我认为,ta是一种最简单不过的文本(text),而这些text中一些特殊的字符被我们赋予了特殊的意义,浏览器通过解析引擎分析text中特殊的key-word从而实现各种效果和功能。浏览器是如何知道text那些是key-word?为什么'a'或'abc'不是一个keyword呢?刚开始,标准都是谁强谁说了算。。比如MS的JScript,以及Netscape的JavaScript,这时候,世界上有一个神奇的组织------ECMA(欧洲计算机制造商协会)统一了标准,也就是ECMAScript,从此以后,所有的浏览器制造商也都遵守了这个标准,所以现在的JavaScript也可以基于ECMAScript,虽然这两个看起来是相同的含义,但是JavaScript却要包含更多的内容。

这张图能告诉JavaScript和ECMAScript的关系:

  • ECMAScript:也就是ECMA定义的核心标准
  • DOM(文档对象模型):针对于HTML文档,由于HTML属于树形结构,所以可以用来操作HTML各个节点
  • BOM(浏览器对象模型):针对于浏览器,例如 ,浏览器的窗口,弹出框都属于BOM对象

这些模型、标准就可以让我们操作网页中的元素,内容或者浏览器中的各个要素。今天大概说这么多,也是我对JavaScript的总体认识,明天具体分享一下JavaScript具体的内容。

我真的知道JavaScript吗?的更多相关文章

  1. JavaScript内部原理实践——真的懂JavaScript吗?(转)

    通过翻译了Dmitry A.Soshnikov的关于ECMAScript-262-3 JavaScript内部原理的文章, 从理论角度对JavaScript中部分特性的内部工作机制有了一定的了解. 但 ...

  2. 你真的了解javascript吗

    原文地址:http://dmitry.baranovskiy.com/post/91403200 看了文章中五个小例子,写了写自己的理解 #demo1 if (!("a" in w ...

  3. 你真的懂javascript中的 “this” 吗?

    一.前言: 我们知道 "this" 是javascript语言的一个关键字,在编写javascript代码的时候,经常会见到或者用到它. 但是,有一部分开发朋友,对 "t ...

  4. 你真的懂JavaScript基础类型吗

    夯实Javascript基础. 基本类型有六种: null,undefined,boolean,number,string,symbol. 基本类型的值是保存在栈内存中的简单数据段 基础类型特性 基础 ...

  5. 【前端知识体系-JS相关】你真的了解JavaScript编译解析的流程吗?

    1. JS编译解析的流程 1.1 JS运行分三步 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行). 1.2 预编译执行分五步 创建AO对象(Activat ...

  6. 你必须知道的Javascript 系列

    JavaScript是见过最多人说它“有趣”,“好玩”的一门语言.不仅仅是因为它的灵活性,包括它本身很多的特性,比如说原型链,作用域链都是非常好玩的东西.现在已经有很多的JavaScript设计模式, ...

  7. 图解JavaScript执行环境结构

    JavaScript引擎在开始编译代码的时候,会对JavaScript代码进行一次预编译,生成一个执行环境,比如如下代码: window.onload=function(){ function sub ...

  8. 浅析JavaScript引用类型之--Object、Array

    1.Object类型 对象是某个特定引用类型的实例,新对象有两种创建方式: i.使用new操作符调用构造函数来创建. var person = new Object(); person.name = ...

  9. 【翻译】Zakas解答Baranovskiy的JavaScript测验题

    原文:http://www.nczonline.net/blog/2010/01/26/answering-baranovskiys-javascript-quiz/ ---------------- ...

随机推荐

  1. jQuery对象和DOM对象和字符串之间的转化

    jQuery对象和DOM对象和字符串之间的转化 字符串---------->jQuery对象 $(HTML字符串): $('<div>我是祖国的一朵小花</div>') ...

  2. input[type="button"]与<button>的区别

    <button>标签  浏览器支持  所有主流浏览器都支持<button>标签.  重要事项:如果在HTML表单中使用button元素,不同的浏览器会提交不同的值.IE将提交& ...

  3. makefile初步制作,arm-linux- (gcc/ld/objcopy/objdump)详解

    在linux中输入vi Makefile 来实现创建Makefile文件 注意:命令行前必须加TAB键 例如:将两个文件led.c和crt0.S汇编文件,制作一个Makefile文件 led.bin ...

  4. 对于c语言存储分配程序(malloc函数)实现的理解

    内容主要出自<The C Programming Language>一书,不得不说这是一本程序员必读的书,我大二读了前面几章就扔到一边了,直到最近才又拿起来再读,找不到言语来形容我现在后悔 ...

  5. [UWP]使用Writeable​Bitmap创建HSV色轮

    1. HSV 1.1 HSV的定义 HSV都是一种将RGB色彩模型中的点在圆柱坐标系中的表示法,这种表示法试图做到比RGB基于笛卡尔坐标系的几何结构更加直观.HSV即色相.饱和度.明度(英语:Hue, ...

  6. MySQL (八)-- 事务、变量、触发器

    1 事务 需求:有一张银行账户表,A用户给B用户转账,A账户先减少,B账户增加,但是A操作完之后断电了. 解决方案:A减少钱,但是不要立即修改数据表,B收到钱之后,同时修改数据表. 事务:一系列要发生 ...

  7. Squid代理服务器安装

    代理服务器的功能是代替网络用户去访问网络信息,并把获得的信息返回给用户,其工作步骤大致如下: ) 客户机向代理服务器发起访问互联网的请求 ) 代理服务器收到请求后检查请求是否被允许,如果允许将会进行下 ...

  8. 201521123015 《Java程序设计》第3周学习总结

    本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点. 书面作业 Q1.代码阅读 publi ...

  9. video标签

    Video标签的使用 Video标签含有src.poster.preload.autoplay.loop.controls.width.height等几个属性, 以及一个内部使用的标签<sour ...

  10. Python学习笔记006_异常_else_with

    >>> # try-except语句 >>> >>> # try : >>> # 检测范围 >>> # exc ...