我真的知道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/ ---------------- ...
随机推荐
- java初步—参数的值传递
校招季,本人匆匆忙忙地参加各种宣讲会,几次笔试下来都遇到同一个题目,而且全都错在同一想法上,方知自己的基础实在不太牢固,因此特别写在博客上提醒自己要脚踏实地地学习!不多说了,题目如下: public ...
- Django视图,与数据库交互并返回数据
环境:python 2.7.13 数据库:sqlite3(Django自带) 在学习Django的时候,遇到了困难.大概就是取到数据库数据后一直不能转成json数据.最后终于自己琢磨解决了. 要点就 ...
- vue :class的动态绑定
动态绑定class 写在指令中的值会被视作表达式,如javascript表达式,因此v-bind:class接受三目运算: 1 2 3 4 HTML代码: <div :class=" ...
- 02-TypeScript中新的字符串
TypeScript中引入了字符串模板,通过字符串模板可以方便的实现字符串换行的连接.方便变量等. 1.在WebStorm中新建一个文件,后缀名为ts. 在建立ts文件时,WebStorm会问你是否需 ...
- 那些年,我们不懂的却又不得不提的 JAVA异常和异常处理!
---恢复内容开始--- 首先,我是个小小的菜鸟,最近突然突发奇想,想研究一下java的异常和异常的处理,稍有些理解,老鸟们莫要嘲笑... 既然要讲异常和异常的处理,我们就要先了解异常,那么,什么是异 ...
- [转载]Linux shell中的竖线(|)——管道符号
原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command ...
- MiniProfiler工具
MiniProfiler工具介绍 MiniProfiler是一款针对.NET, Ruby, Go and Node.js的性能分析的轻量级程序.可以对一个页面本身,及该页面通过直接引用.Ajax. ...
- 集美大学网络1413第十五次作业成绩(团队十) -- 项目复审与事后分析(Beta版本)
题目 团队作业10--项目复审与事后分析(Beta版本) 团队作业10成绩 --团队作业10-1 Beta事后诸葛亮 团队/分值 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色 ...
- 团队作业8——第二次项目冲刺(Beta阶段)--5.19 first day
团队作业8--第二次项目冲刺(Beta阶段)--5.19 Day one: 会议照片 项目进展 由于今天是Beta版本项目冲刺的第一天,所以没有昨天已完成任务.以下是今日具体的任务安排. 队员 今日计 ...
- Beta版本冲刺前期计划及安排
a. 介绍小组新加入的成员,Ta担任的角色. 吴东益:经讨论决定,Ta担任角色为开发人员 李志霖:在原先的团队中负责前端开发与界面设计.现经讨论决定,Ta此次担任角色为开发人员 由他们替代原来成员陈雄 ...