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