javascript弱类,js弱类型语言的弊端

javascript是干什么的

JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

成都创新互联是一家专业提供江干企业网站建设,专注与成都做网站、网站建设、H5高端网站建设、小程序制作等业务。10年已为江干众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

javascript是一种解释类型的语言,跟c++、c语言这些不一样(先编译后执行),它是在程序运行过程中每行都要进行解释。javascript不仅是一种基于对象的脚本语言,它既可以创建对象,也可以直接使用已有的对象。

javascript是事件驱动性的脚本语言,比如用户在访问网页时,鼠标在点击,移动等操作。javascript是可以直接对这些时间做出相应,并不需要通过web服务器来对用户的行为做出相应。

javascript特点:

1、简单性

javascript是弱类型的变量类型,对于数据类型并没有严格要求,她的设计简单紧凑。

2、跨平台性

javascript是不需要依靠操作系统,只要浏览器支持,它编译后就可以直接带到任何支持浏览器脚本语言上就可以直接使用了,而javascript几乎已经获得所有浏览器的支持。

javascript是事件驱动性的脚本语言,比如用户在访问网页时,鼠标在点击,移动等操作。javascript是可以直接对这些时间做出相应,并不需要通过web服务器来对用户的行为做出相应。

javascript是弱类型吗

弱类型语言也是有类型的。或者说,任何计算机语言都是要有类型的。

基本数据类型有:number、string、boolean、undefined、null

引用类型有:object、function

1

2

3

4

5

6

7

8

9

10

11

12

13

14

var num = 123;

console.log(typeof num);//number

var str = 'string';

console.log(typeof str);//string

var bool = true;

console.log(typeof bool);//boolean

var undef = undefined;

console.log(typeof undef);//undefined

var nul = null;

console.log(typeof nul);//object。因为null代表对象是空的情况。

自动类型转换

1

2

3

4

"10.0"%"5"//结果是0,string类型自动类型转换为number类型

!0//结果是true,number类型自动转换为boolean类型

"10.0" + 5//结果是"10.05",number类型自动转换为string类型

javascript的变量是强类型还是弱类型,是否了解闭包概念,原型链

javascript的变量是弱类型。

闭包:在类似C/C++这种的非函数式编程语言中,也可以定义函数指针并返回,但外层函数在执行结束后为内层函数定义的上下文信息会被销毁,而在闭包中,则保存了返回的函数,还包含返回函数的上下文信息。闭包有两个用途,一是方便实现嵌套的回调函数,二是隐藏对象的细节。

原型链:创建对象时,应该在构造函数内定义一般成员,而是其原型定义成员函数。JS中有两个特殊的对象:Object与Function,它们都是构造函数,用于生成对象。Object.prototype是所有对象的祖先,Function.prototype是所有函数的原型,包括构造函数。可以将JS的对象分为三类:用户创建对象,构造函数对象,原型对象。所有对象中都有一个__proto__属性,其指向此对象的原型。

构造函数对象有prototype,指向其原型对象,通过此构造函数创建对象时,新创建对象的__proto__属性将会指向构造函数的prototype属性。原型对象有一个constructor属性,指向它对应的构造函数。

什么说javascript是弱类型语言

弱类型语言 是相对强类型语言来说的

在强类型语言中,变量类型有多种,例如int char float boolean 等

不同的类型相互转换有时需要强制转换

而javascript只有一种类型var ,为变量赋值时会自动判断类型并进行转换

所以javascript是弱语言

就体现在变量定义类型VAR上了

JS里面的弱类型指的是什么意思?

就是变量匹配的时候,如果只是使用 ’==‘,就会发生隐式类型转换。

如 1 == true,是数字类型和布尔类型的比较,如果是强类型的语言,输出应该是false,但是由于隐式转换的存在,js输出了 ture。隐式转换比如 valueOf


网页标题:javascript弱类,js弱类型语言的弊端
文章源于:http://azwzsj.com/article/dsisgee.html