• 技术文章 >web前端 >前端问答

    javascript是强类型语言吗

    青灯夜游青灯夜游2021-11-19 18:20:37原创537

    javascript不是强类型语言,而是一种弱类型语言。JavaScript是一种动态类型、弱类型、基于原型的语言,它允许变量类型的隐式转换,允许强制类型转换等,如字符串和数值可以自动转化;而强类型语言一般不允许这么做。

    本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

    JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为javascript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。

    弱类型语言:

    数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

    弱类型语言允许变量类型的隐式转换,允许强制类型转换等,如字符串和数值可以自动转化;而强类型语言一般不允许这么做。

    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
    }

    【推荐学习:javascript高级教程

    以上就是javascript是强类型语言吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:javascript中什么是回流 下一篇:javascript的dom事件有哪些
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 怎么用javascript实现n的阶乘• javascript文件是病毒吗• javascript怎么将浮点数转为整数• javascript hash是什么
    1/1

    PHP中文网