首先我们学习一门语言呢不一要学习它的所有历史,但是一定要知道它的使用基本规则。不要在最基础的部分出错。不过胡萝贝还是带你了解JavaScript的历史吧。

1994年网景公司(Netscape)发布了Navigator浏览器0.9版(只能用于浏览消息,无法与访问者进行交互)。为了能有网络脚本语,网景公司选择开发一种完全适用的语言而不是已有的部分语言Perl、Python、Tcl、Scheme等等。

1995年Sun公司将Oak语言改为Java语言,且“一次编写,到处运行(write once,run anywhere)”的口号让其声名大噪。网景公司看重了它的前途,与sun公司结盟。且运行Java以applet的形式在浏览器中直接运行。网景公司高层疯狂信仰Java,sun公司完全介入导论网页脚本语言的决策中。

1995年4月,34岁的Brenden Eich被网景公司录用了。被指派做一个“看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手。”的“简化版Java语言”的设计师。但是他对Java其实毫无兴趣。甚至只用了十天时间就将JavaScript设计出来了。(虽然过程不太严谨,但是大神就是大神啊!)这种不严谨导致在接下来很长一段时间JavaScript的程序都很混乱。但是大神的思路我等凡人还是可以借鉴一下:

(1)借鉴C语言的基本语法;

  (2)借鉴Java语言的数据类型和内存管理;

  (3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;

  (4)借鉴Self语言,使用基于原型(prototype)的继承机制。

JavaScript可以说是一个名副其实的混血儿了,而且老爹还不喜欢它最大的血液来源Java..."多年以后 Brenden Eich还继续dissJava:"Java(对Javascript)的影响,主要是把数据分成基本类型(primitive)和对象类型(object)两种,比如字符串和字符串对象,以及引入了Y2K问题。这真是不幸啊"  还说过:“与其说我爱Javascript,不如说我恨它。它是C语言和Self语言one night stand的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之 处并非原创,它的原创之处并不优秀。”(the part that is good is not original, and the part that is original is not good.)。 多年以后还继续diss过Java:"Java(对Javascript)的影响,主要是把数据分成基本类型(primitive)和对象类型(object)两种,比如字符串和字符串对象,以及引入了Y2K问题。这真是不幸啊"  哎,我们JavaScript曾经也是一个爹不疼娘不爱的小可怜了。

有一个公众号:兔子爱吃胡萝贝。

希望大家能关注,文章中有任何问题都可以与我一同讨论,共同进步呀~

一起来学JavaScript吧(JS兔子领进门)的更多相关文章

  1. 师傅领进门之6步教你跑通一个AI程序!

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 源码下载地址请点击原文查看. 初学机器学习,写篇文章mark一下,希望能为将入坑者解点惑.本文介绍一些机 ...

  2. [Xcode 实际操作]一、博主领进门-(1)iOS项目的创建和项目模板的介绍

    目录:[Swift]Xcode实际操作 本文将演示iOS项目的创建和项目模板的介绍. [Create a new Xcode project]创建一个新的项目. 在弹出的模板窗口中,显示了所有的项目模 ...

  3. [Xcode 实际操作]一、博主领进门-(2)第一个工程项目:将导入的图片显示到屏幕上

    目录:[Swift]Xcode实际操作 本文将演示创建第一个工程项目. 在项目导航区,鼠标右键[Assets.xcassets]资源文件夹. 隔壁右侧区域左下角点击[+],打开资源文件管理菜单-> ...

  4. [Xcode 实际操作]一、博主领进门-(3)使用资源文件夹(Assets.xcassets)导入并管理图片素材

    目录:[Swift]Xcode实际操作 本文将演示如何使用资源文件夹(Assets.xcassets)导入并管理图片素材. [Assets.xcassets]资源文件夹可以方便的进行图片的管理, 在读 ...

  5. [Xcode 实际操作]一、博主领进门-(4)设置项目的属性

    目录:[Swift]Xcode实际操作 本文将演示如何设置项目的属性. 点击项目名称[DemoApp],打开项目信息面板. [Identity识别]设置区域 [Display Name]:DemoAp ...

  6. [Xcode 实际操作]一、博主领进门-(5)检测运行中的模拟器在各个方向上的切换

    目录:[Swift]Xcode实际操作 本文将演示Xcode的设备模拟器在各个方向上的切换和检测. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 检测运行中的模拟 ...

  7. [Xcode 实际操作]一、博主领进门-(6)Xcode的iOS模拟器的基本使用方法

    目录:[Swift]Xcode实际操作 本文将演示Xcode的iOS模拟器的基本使用方法. 在项目导航区,鼠标右键[Assets.xcassets]资源文件夹. 隔壁右侧区域左下角点击[+],打开资源 ...

  8. [Xcode 实际操作]一、博主领进门-(7)使用不同类型的iOS模拟器

    目录:[Swift]Xcode实际操作 本文将演示使用不同类型的iOS模拟器. 点击[运行]按钮,打开模拟器,并预览当前的项目. 当向苹果商店提交应用时,也需要同时提交应用的截图. 对当前的应用的界面 ...

  9. [Xcode 实际操作]一、博主领进门-(8)应用代理文件(AppDelegate.swift)详解

    目录:[Swift]Xcode实际操作 本文将演示使用iOS模拟器,演示程序的生命周期. 在项目导航区,打开应用代理文件[AppDelegate.swift] 应用代理文件时系统运行本应用的委托,里面 ...

随机推荐

  1. MySql EF事务using不会自动 Rollback的bug

    EF to MySql一般都是用using最后Commit,一直以为最后没Commit,当using调用Dispose会自动Rollback,没想到这儿有个坑,mysql有个bug并不会Rollbac ...

  2. js查询checkbox已选择的值

    $("input[id^=ck]").each(function(index,e){ if($(e).is(":checked")) { userArray.p ...

  3. java word转html 报错 org/apache/poi/xwpf/usermodel/IRunBody

    最终解决的办法是修改jar包版本,一定要对应上. <dependency> <groupId>org.apache.poi</groupId> <artifa ...

  4. Windows使用Python统一设置解析器路径

    碰到的问题: .py文件放在cgi-bin文件夹下面,这个.py文件都要设置"#!python.exe路径"来告诉CGI如何找解析器解析这个.py的文件,我是想知道这个路径可否统一 ...

  5. django基础知识之定义模型:

    定义模型 在模型中定义属性,会生成表中的字段 django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类型 渲染管理表单时使用的默认html控件 在管理站点最低限度的验证 django会为 ...

  6. NOIP2018普及T4暨洛谷P5018 对称二叉树题解

    题目链接:https://www.luogu.org/problemnew/show/P5018 花絮:这道题真的比历年的t4都简单的多呀,而且本蒟蒻做得出t4做不出t3呜呜呜... 这道题可以是一只 ...

  7. Android 隐藏软键盘功能的实现

    Activity context = (Activity) mContext; final View v = context.getWindow().peekDecorView(); if (v != ...

  8. c语言进阶12-线性表之顺序表

    一.  线性表的定义 为什么要学习线性表呢? 因为我们日常生活中存在种数据关系,计算机程序是为了解决日常生活的数据关系,因此我们要学习线性表. 线性表是什么呢? 线性表是由n个元素组成的有限序列. 需 ...

  9. RabbitMQ 实践之在处理异步任务中的流程

    一.背景: 我司的系统,用户可以创建任务,启动任务,但任务的运行需要很长的时间,所以采用消息队列的方式,后台异步处理. 这里所用到的是 RabbitMQ . 二.MQ 处理任务的流程 ① ② ③ ④ ...

  10. 【微信小程序】微信小程序-实现tab

    一.前言 小程序开发中,有很多封装好的控件供开发者使用,但是,很常见的tab选项卡居然没有,只能自己搞一个. 实现原理也很简单,无非是用给view(tab)设置一个点击事件bintap,并且给view ...