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. C#格式符

    在输出字符串时,使用格式说明  使字符串显示适当的格式,比如:货币格式,或者科学计数法.百分比等. 以下是格式化的数字字符串  格式. {index, alignment: format} 例如: ; ...

  2. Python 学习系列----第一章:基础知识

    1.1 常量-----不能改变它的值 1.2 数 在Python 中数可以分为整数.浮点数和复数. PS:在Python中不用区分'long int'类型.默认的整数类型可以任意长.(译者注:长度应该 ...

  3. TypeScript入门知识二(参数新特性)

    一,参数类型 1.在参数的名称后面使用冒号来指定参数的类型,当赋值的不是指定类型数值时会报错. var myname: string = "zhang san"; 2.当你没有指定 ...

  4. 第1阶段——u-boot分析之make指令(2)

    通过make 100ask24x0_config 指令配置好芯片选型后,使用make指令来生成uboot.bin文件 本文学习目标: 对Makefile文件进行基本了解,掌握make指令是怎么实现生成 ...

  5. Android学习记录:获取联系人

    在AndroidManifest中申请读取联系人的权限 <uses-permission android:name = "android.permission.READ_CONTACT ...

  6. 编程零基础应当如何开始学习 Python?

    提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干 ...

  7. python 每日一练: 读取log文件中的数据,并画图表

    之前在excel里面分析log数据,简直日了*了. 现在用python在处理日志数据. 主要涉及 matplotlib,open和循环的使用. 日志内容大致如下 2016-10-21 21:07:59 ...

  8. Mac 下如何使用sed -i命令

    今天在学习Linux的过程中发现了sed这一项指令 首先,sed的全称是:Stream Editor 调用sed命令有两种形式: sed [options] 'command' file(s) sed ...

  9. 四则运算GUI

    一.题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linux,web,手机上的),成 ...

  10. 团队作业7---Alpha冲刺值事后诸葛

    一.设想和目标 1.我们的软件要解决什么问题? 解决教师和助教对实验报告查重的问题,拥有两个用户:1.教师或助教:查看学生实验报告的重复率:4.学生:上传实验报告. 2.是否定义得很清楚?是否对典型用 ...