你需要知道的JavsScript可以做什么?
JavsScript可以做什么?JavaScript可以做客户端的数据验证、处理,同服务器进行数据交互(AJAX),界面功能增强、美化等等,似乎JavaScript就只能做页面或者脚本有关的处理。是这样吗?
如果跳出我们目前对JavaScript的应用的固定视角,抽离出来只看JavaScript的本质。也许会有新的豁然开朗的发现。
也许我们可以这样重定义一下JavaScript语言——它是一种以ECMAScript为语法规范的面向对象的编程语言。
当然JavaScript本身拥有两个特有的对象——BOM、DOM对象,使用这两个对象我们可以完成一系列的处理。
我们知道同是面向对象的语言的C#,C#自己并没有包含一个类库,它通过Visual Studio提供的一个通用的执行引擎和一个丰富的类库来完成工作。离开类库也许C#就没有任何使用价值了。
如果JavaScript也拥有一个类似C#的丰富的类库,那JavaScript能做什么?——端口通讯,硬件管理,更强的多媒体控制,更自由的资源调用。也许这是很多JavaScript程序员梦寐以求的,可这能实现吗?
我要说能!如何实现?要实现这些功能肯定需要有一个像C#调用类库一样的执行引擎,而幸运的是很多程序本身就可以看做是这种引擎,一个可行的方式就是使用C#来完成对工作的处理程序,由JavaScript来告诉C#何时工作,如何工作,这就如同C#本身所定义的那样。而且幸运的是让JavaScript来告诉C#如何工作,可以由C#提供的和JavaScript之间的交互的能力(Dnew.cn 注:参见地址:http://www.dnew.cn/post/257.htm)来解决。这也就是我们说的把语言本身来做为执行引擎的方式。很多的语言都提供了这种能力比如Flash(参见:http://www.dnew.cn/post/239.htm)等等。
也许站在更高的角度,这样的方式只是一种交互的应用,不过有了这种应用,我们的创意也许就多了一双自由飞翔的翅膀。JavaScript能做的很多!
相关推荐
-
你需要知道的JavsScript可以做什么?
JavsScript可以做什么?JavaScript可以做客户端的数据验证.处理,同服务器进行数据交互(AJAX),界面功能增强.美化等等,似乎JavaScript就只能做页面或者脚本有关的处理.是这样吗? 如果跳出我们目前对JavaScript的应用的固定视角,抽离出来只看JavaScript的本质.也许会有新的豁然开朗的发现. 也许我们可以这样重定义一下JavaScript语言--它是一种以ECMAScript为语法规范的面向对象的编程语言. 当然JavaScript本身拥有两个特有的对象-
-
PHP小白必须要知道的php基础知识(超实用)
很多人看到PHP就以为是程序员,就以为钱很多(虽然是事实),但是也要考虑下自己是不是适合这一行,知道PHP是什么吗?PHP都有什么样的功能,都能用来干嘛? PHP是什么? •PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一 种被广泛应用的开放源代码的.基于服务器端的用于产生动态网页 的.可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发. •当客户端向服务器的程序提出请求时,web服务器根据请求晌应对应 的页面,当页面中含有php脚本时,服务器会交
-
分享下网站开发人员应该知道的61件事
不出意料地,他得到了一大堆回答. 通常情况下,你需要把所有人的发言从头到尾读一遍.但是,Stack Overflow有一个很贴心的设计,它允许在问题下方开设一个wiki区,让所有人共同编辑一个最佳答案.于是,就有了下面这篇文章,一共总结出六个方面共计61条"网站开发须知". 我发现,这种概述性的问题,最适合这种集合群智.头脑风暴式的回答方式了.这也是我第一次觉得,Stack Overflow做到了Wikipedia做不到的事.(难怪它最近挤进了全美前400大网站.) 在我的印象中,关于
-
PHP 开发者该知道的 5 个 Composer 小技巧
Composer 是新一代的PHP依赖管理工具.其介绍和基本用法可以看这篇<Composer PHP依赖管理的新时代>.本文介绍使用Composer的五个小技巧,希望能给你的PHP开发带来方便. 1. 仅更新单个库 只想更新某个特定的库,不想更新它的所有依赖,很简单: composer update foo/bar 此外,这个技巧还可以用来解决"警告信息问题".你一定见过这样的警告信息: Warning: The lock file is not up to date wi
-
经验丰富程序员才知道的8种高级Python技巧
本文将介绍8个简洁的Python技巧,若非经验十足的程序员,你肯定有些从未见过.向着更简洁更高效,出发吧! 1.通过多个键值将对象进行排序 假设要对以下字典列表进行排序: people = [ { 'name': 'John', "age": 64 }, { 'name': 'Janet', "age": 34 }, { 'name': 'Ed', "age": 24 }, { 'name': 'Sara', "age": 6
-
每个 Python 开发者都应该知道的7种好用工具(效率翻倍)
Python 从一种小的开源语言开始,到现在,它已经成为开发者很受欢迎的编程语言之一. 今天我将给大家分享 7 种对所有 Python 开发人员都感觉很有趣.有用的工具,相信它们在你的工作中会经常出现,提升工作效率. 1.The F*ck 当我们忘记了某些软件包在这里或那里,The F*ck优雅地解决了这个问题.你所要做的只是键入"Fuck",然后它会告诉你出了什么问题. 它是该列表上很受欢迎的项目,并且将继续存在.安装方法如下: # mac brew install thefuck
-
一定要知道的 25 个 Vue 技巧
目录 1. 将 prop 限制为类型列表 2. 默认内容和扩展点 3. 使用引号观察嵌套值 4. 知道何时使用 v-if(以及何时避免使用) 5. 单作用域 slot 的简写(不需要模板标签!) 6. 有条件地渲染slot 6.1 为什么我们希望能够有条件地渲染slot呢? 7. 如何观察slot的变化 8. 将本地和全局风格混合在一起 9. 覆盖子组件的样式--正确的方法 10. 用上下文感知组件创造魔法 10.1 状态共享 10.2 配置 10.3 造型 11. 如何使在 Vue 之外创建的
-
经验丰富程序员才知道的15种高级Python小技巧(收藏)
目录 1.通过多个键值将对象进行排序 2.数据类别 3.列表推导 4.检查对象的内存使用情况 5.查找最频繁出现的值 6.属性包 7.合并字典(Python3.5+) 8.返回多个值 9.列表元素的过滤 filter()的使用 10.修改列表 11.利用zip()来组合列表 12.颠倒列表 13.检查列表中元素的存在情况 14.展平嵌套列表 15.检查唯一性 1.通过多个键值将对象进行排序 假设要对以下字典列表进行排序: people = [ { 'name': 'John', "age&quo
-
你需要知道的TypeScript高级类型总结
目录 1. 字面量类型 (1)字符串字面量类型 (2)数字字面量类型 (3)布尔字面量类型 (4)模板字面量类型 2. 联合类型 (1)基本使用 (2)限制 (3)可辨识联合类型 3. 交叉类型 (1)基本实用 (2)使用场景 4. 索引类型 (1)索引类型查询操作符 (2)索引访问操作符 (3)应用 5. 条件类型 (1)基本概念 (2)创建自定义条件类型 (3)条件类型的类型推断 6. 类型推断 (1)基础类型 (2)多类型联合 (3)上下文类型 7. 类型保护 (1)instanceof
-
Web开发/设计人员应当知道的15个网站
ColorCombos 在进行网站设计的时候,开始步骤的其中一项(也是最重要)的内容是选择出一个配色方案. Color Combos让你可以浏览上千个不同的颜色组合,以便从中为你即将开始的设计汲取灵感.其配色方案可按颜色浏览. LIpsum 风靡之至的Lorem Ipsum文字,其大名谁人不知?哪个不晓?(译注:查了才知道,这是指一篇用于测试排版设计的拉丁文文章,从15世纪开始就被广泛使用,文章因以Lorem Ipsum开头而得名)该段文字被全球各地的网站设计者用来在设计中对其真正的文字的呈现效
随机推荐
- sqlserver 2008手工修改表结构,表不能保存的问题与解决方法
- Java利用future及时获取多线程运行结果
- Oracle 用户权限管理方法
- js中document.getElementByid、document.all和document.layers区分介绍
- 深入Android中BroadcastReceiver的两种注册方式(静态和动态)详解
- java计算集合对称差的示例代码
- JavaScript 事件的一些重要说明
- 在 Ubuntu 16.04 为 Nginx 服务器安装 LEMP 环境(MariaDB,PHP 7 并支持 HTTP 2.0)
- mysql存储引擎和数据类型(二)
- 另类弹出窗口,跳过所有拦截工具
- java计算给定字符串中出现次数最多的字母和该字母出现次数的方法
- 一个PHP实现的轻量级简单爬虫
- Android开发ListView中下拉刷新上拉加载及带列的横向滚动实现方法
- Java 无参数构造函数的应用
- Linux初学(CnetOS7 Linux)之切换命令模式和图形模式的方法
- C++实现屏幕截图功能
- springboot工程jar包部署到云服务器的方法
- Nginx学习之如何搭建文件防盗链服务的方法示例
- MySql 8.0.16版本安装提示已经不使用“UTF8B3”而是使用“UTF8B4”问题
- Python实现制度转换(货币,温度,长度)