javascript不是什么

如《把时间当作朋友》的作者所说,“有些时候,有些事物,从反面描述比从正面描述更为容易。如若先仔细说清楚这本书不是什么,之后,至于它究竟是什么,很可能就不言自明了。”

javascript它不是一门静态类型、静态编程的语言,也不是一门服务器语言,更没有像其他语言那样有那么多的api,也没有强制你一定要按照哪种规范去编写代码,它的继承也不是像其他语言那样通过extends来继承。

怎么证明它不是什么

要搞懂它不是什么,就得先知道什么是静态类型,什么是动态类型,什么是静态编程,什么是动态编程语言。

1、静态类型是指在定义变量时就需要去指定它的类型。而动态类型则指,我们不需要明确告诉程序这个变量的值是什么类型,因为它会自动根据值来判断它是什么类型。
2、静态编程语言是指在程序运行期,不可改变其变量的类型,而动态编程语言则可以。

我的理解是,我们常说的静态语言和动态语言则是以上两点的综合体。

以下这段代码就很好的解释了javascript它是一门动态语言。

var str = "走近javascript";
console.log(str); //走近javascript
str = 123;
console.log(str); //123

javascript的继承是通过原型来实现的,比如下面这段代码

function A(){}
A.prototype.hello = function(){
console.log("hello world");
}; function B(){}
B.prototype = A.prototype; var c = new B();
c.hello(); //hello world

因c实例化B,又因B继承自A的原型,因此c可以使用在A原型中的方法。

因javascript是一门客户端语言,代码在用户的电脑上执行,因此就会出现一些类似应不应该让编程人员去操作用户计算机中的文件及读取文件,如果可以那么是不是就意味着一些黑客可以通过javascript来传播病毒并且盗取用户信息,这也一直是客户端语言中存在的问题。

我倒觉得可以像安装手机app那样,在操作用户计算机文件时,询问用户是否同意。

参考资料

JavaScript的前世今生

JavaScript前世今生,HelloWorld与开发环境

什么是动态语言和静态语言?

最新文章

  1. VirtualBox注册Com对象失败解决方法
  2. Map拷贝 关于对象深拷贝 浅拷贝的问题
  3. [Eclipse] Eclipse is running in a JRE, but a JDK is required
  4. JS写的CRC16校验算法(查表法)
  5. C#获取当前路径,获取当前路径的上一层路径
  6. web自动化测试从入门到持续集成(selenium webdriver)
  7. 进程管理工具Supervisor(一)简介与使用
  8. 二分查找BinarySearch(Java)
  9. 安装Rocky版OpenStack 1控制节点+1计算节点环境部署脚本
  10. cocos creator怎么隐藏组件(setVisible)
  11. @Pointcut的用法
  12. ReactiveCocoa(III)
  13. 快速阅读《QT5.9 c++开发指南》1
  14. scala 下载
  15. swift - 基础属性 - 属性写法
  16. Windows的cmd窗口显示utf8字符
  17. 面试问题整理之python测试
  18. HDOJ1005
  19. Hadoop 2.7.3 安装配置及测试
  20. 170331、58到家MQ如何快速实现流量削峰填谷

热门文章

  1. day27(反射之内省机制)
  2. CentOS 5.8下快速搭建FTP服务器
  3. Eclipse怎么全局搜索和替换(整个项目)
  4. Hdu1281 棋盘游戏
  5. R12 AR INVOICE 接口表导入
  6. [LintCode] Permutations II
  7. 获取当前人IP地址
  8. Android-----application的学习
  9. vue-cli初始化一个项目
  10. Redis中的批量操作Pipeline