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那样,在操作用户计算机文件时,询问用户是否同意。