javascript弱类型什么意思
时间:2021-07-01
来源:互联网
标签:
今天PHP爱好者给大家带来在javascript中,弱类型是指数据类型可以被忽略,一个变量可以赋不同数据类型的值。javascript是一种弱类型语言,它允许变量类型的隐式转换,允许强制类型转换等,如字符串和数值可以自动转化;而强类型语言一般不允许这么做。希望对大家有所帮助。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
强类型语言:
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
弱类型语言:
数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。
弱类型语言允许变量类型的隐式转换,允许强制类型转换等,如字符串和数值可以自动转化;而强类型语言一般不允许这么做。
js弱类型的体现
一般规律是,约束越强越不容易出错,但编写程序时也越麻烦。在JavaScript中,因为约束比较弱,所以容易出现这种错误:最简单的例子:
var a =200;
var b ="1";
var c= a + b;
你可能期望c是201,但实际上它是"2001",这个错误在强类型语言中决不会出现。然而正是因为JavaScript没有这些约束,所以可以很方便地拼接数字和字符串类型。
再比如下面这个例子:
var a = '11';
a = a - '';
alert(typeof a);// -->number
“-”可以是一元运算符(取负),也可以是二元(减法运算)
在循环语句中(if,while)中,一个Object对象可以隐式的转换从BOOLEAN值。
var obj = {name:'jack'}
if(obj){
//do more
}
比较难以发现的是在alert()函数中。
String.prototype.fn = function(){return this};
var a = 'hello';
alert(typeof a.fn()); //-->object
alert(a.fn()); //-->hello
我们知道this可以理解成当前类的实例对象,既然是对象那么typeof a.fn()自然返回是object了。
关键是最后的alert(a.fn()),a.fn()返回的明明是对象,但却隐式的转换成了字符串“hello”显示。
以上就是javascript弱类型什么意思的详细内容,更多请关注php爱好者其它相关文章!
-
Ext.MessageBox消息框使用详解 时间:2025-11-20 -
GAppProxy超详细安装配置教程 时间:2025-11-20 -
C#中e.Cancel用法详解 e.Cancel和e.Handled区别 时间:2025-11-20 -
TestDirector超详细下载、安装、配置教程 时间:2025-11-20 -
AssemblyInfo.cs文件详解(常见属性及作用等) 时间:2025-11-20 -
什么是无理数 常见的无理数有哪些 无理数和有理数的区别 时间:2025-11-19
今日更新
-
山羊是什么梗?揭秘网络热词山羊的搞笑含义和流行用法
阅读:18
-
B站官网入口一键直达
阅读:18
-
欧易OKX合规战略解析 与行业竞品对比关键差异
阅读:18
-
USDT怎么交易?USDT交易所兑换rmb操作教程
阅读:18
-
学信网官网登录-学历证书查询入口
阅读:18
-
欧易Meme币限制原因解析及解决方案
阅读:18
-
山药梗是什么梗?揭秘网红乐事山药薄片爆火背后的搞笑真相,看完秒懂!
阅读:18
-
为什么比特币跌破10万美元?2025年熊市情绪加剧
阅读:18
-
126邮箱登录入口-网页版免费登录126邮箱
阅读:18
-
欧易生态建设进度缓慢的5大关键原因解析
阅读:18










