我真的知道JavaScript吗?
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吗?的更多相关文章
- JavaScript内部原理实践——真的懂JavaScript吗?(转)
通过翻译了Dmitry A.Soshnikov的关于ECMAScript-262-3 JavaScript内部原理的文章, 从理论角度对JavaScript中部分特性的内部工作机制有了一定的了解. 但 ...
- 你真的了解javascript吗
原文地址:http://dmitry.baranovskiy.com/post/91403200 看了文章中五个小例子,写了写自己的理解 #demo1 if (!("a" in w ...
- 你真的懂javascript中的 “this” 吗?
一.前言: 我们知道 "this" 是javascript语言的一个关键字,在编写javascript代码的时候,经常会见到或者用到它. 但是,有一部分开发朋友,对 "t ...
- 你真的懂JavaScript基础类型吗
夯实Javascript基础. 基本类型有六种: null,undefined,boolean,number,string,symbol. 基本类型的值是保存在栈内存中的简单数据段 基础类型特性 基础 ...
- 【前端知识体系-JS相关】你真的了解JavaScript编译解析的流程吗?
1. JS编译解析的流程 1.1 JS运行分三步 语法分析(通篇扫描是否有语法错误),预编译(发生在函数执行的前一刻),解释执行(一行行执行). 1.2 预编译执行分五步 创建AO对象(Activat ...
- 你必须知道的Javascript 系列
JavaScript是见过最多人说它“有趣”,“好玩”的一门语言.不仅仅是因为它的灵活性,包括它本身很多的特性,比如说原型链,作用域链都是非常好玩的东西.现在已经有很多的JavaScript设计模式, ...
- 图解JavaScript执行环境结构
JavaScript引擎在开始编译代码的时候,会对JavaScript代码进行一次预编译,生成一个执行环境,比如如下代码: window.onload=function(){ function sub ...
- 浅析JavaScript引用类型之--Object、Array
1.Object类型 对象是某个特定引用类型的实例,新对象有两种创建方式: i.使用new操作符调用构造函数来创建. var person = new Object(); person.name = ...
- 【翻译】Zakas解答Baranovskiy的JavaScript测验题
原文:http://www.nczonline.net/blog/2010/01/26/answering-baranovskiys-javascript-quiz/ ---------------- ...
随机推荐
- mybatis 一对多和多对一关联查询
首先 数据库量表之间字段关系(没有主外键) studentmajor表的id字段对应student表里major字段 两个实体类 package com.model; import java.uti ...
- CAP和BASE理论
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt370 1. CAP理论 2000年7月,加州大学伯克利分校的Eric Bre ...
- PHP初入,简易网页整理(布局&特效的使用)
html><html> <head> <meta charset="UTF-8"> <title></title> ...
- 【ctrl+A】与【ctrl+单击图层缩略图】有什么区别?
如果这图层没有透明区域的话那和ctrl+A的效果是一样的! 但如果图层有不透明区域,那选中的就是图层中所有不透明的区域!
- 201521123104《JAVA程序设计》第三周学习总结
1. 本周学习总结 2. 书面作业 Q1. 代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 201521123033《Java程序设计》第3周学习总结
1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 2. 书面作 ...
- Python数据类型方法精心整理,不必死记硬背,看看源码一切都有了
Python认为一切皆为对象:比如我们初始化一个list时: li = list('abc') 实际上是实例化了内置模块builtins(python2中为__builtin__模块)中的list类: ...
- 利用Vim提供的正则去掉代码每行开头不想要的行号以及vi常见问题和应用技巧
看到一不错的代码片断,但奈何无论怎么拷贝,粘贴到VS里都是带行号的,300多行的代码手工删除行号与前面的空格可得耗不少时间...这时想起了无所不能的VIM,以及它的正则,它的替换功能.解决步骤: 1. ...
- 基于socket.io的实时在线选座系统
基于socket.io的实时在线选座系统(demo) 前言 前段时间公司做一个关于剧院的项目,遇到了这样一种情况. 在高并发多用户同时选座的情况下,假设A用户进入选座页面,正在选择座位,此时还没有提交 ...
- SSH框架搭建最终版【测试、log4j、baseDao】
最详细搭建SSH框架环境 本博文主要是讲解如何搭建一个比较规范的SSH开发环境,以及对它测试[在前面的搭建中,只是整合了SSH框架,能够使用SSH实现功能],而这次是相对规范的. 导入开发包 在Str ...