iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >javascript是弱类型语言的原因是什么
  • 184
分享到

javascript是弱类型语言的原因是什么

2024-04-02 19:04:59 184人浏览 薄情痞子
摘要

本篇内容主要讲解“javascript是弱类型语言的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript是弱类型语言的原因是什么”吧!在

本篇内容主要讲解“javascript是弱类型语言的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript是弱类型语言的原因是什么”吧!

在弱类型语言中,数据类型可以被忽略,一个变量可以赋不同数据类型的值;而javascript变量在不同的场合可以解释为不同的类型,它允许变量类型的隐式转换和强制转换。在JavaScript中,不必事先声明变量的数据类型就可以使用变量,这时JavaScript解释器会根据情况做出他认为正确的判断。

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

静态语言:我们把在使用之前就需要确认其变量数据类型的称为静态语言。

动态语言:我们把在运行过程中需要检查数据类型的语言称为动态语言。

通常把偷偷进行类型转换的操作成为隐式类型转换

而支持隐式类型转换的语言称为弱类型语言,不支持隐式类型转换的语言称为强类型语言

强类型语言:

强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

弱类型语言:

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

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

JavaScript是弱类型语言

JavaScript属于“宽松类型”的编程语言,这意味着JavaScript变量在不同的场合可以解释为不同的类型。

在JavaScript中,不必事先声明变量的数据类型就可以使用变量,这时JavaScript解释器会根据情况做出他认为正确的判断。如果我们现在变量里保存了一个字符串,稍后又想把它当做数值使用,这在JavaScript里是完全可行的,前提是这个字符串必须包含像数字的内容。

js弱类型的体现

一般规律是,约束越强越不容易出错,但编写程序时也越麻烦。在JavaScript中,因为约束比较弱,所以容易出现这种错误:最简单的例子:

再比如下面这个例子:

var a =200;
var b ="1";
var c= a + b;

你可能期望c是201,但实际上它是"2001",这个错误在强类型语言中决不会出现。然而正是因为JavaScript没有这些约束,所以可以很方便地拼接数字和字符串类型。

javascript是弱类型语言的原因是什么

再比如下面这个例子:

var a = '11';
a = a - '';
console.log(typeof a);// -->number

登录后复制

javascript是弱类型语言的原因是什么

“-”可以是一元运算符(取负),也可以是二元(减法运算)

在循环语句中(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

javascript是弱类型语言的原因是什么

javascript是弱类型语言的原因是什么

我们知道this可以理解成当前类的实例对象,既然是对象那么typeof a.fn()自然返回是object了。

关键是最后的alert(a.fn())a.fn()返回的明明是对象,但却隐式的转换成了字符串“hello”显示。

到此,相信大家对“javascript是弱类型语言的原因是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: javascript是弱类型语言的原因是什么

本文链接: https://www.lsjlt.com/news/99062.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript是弱类型语言的原因是什么
    本篇内容主要讲解“javascript是弱类型语言的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript是弱类型语言的原因是什么”吧!在...
    99+
    2022-10-19
  • Python是强类型语言还是弱类型语言
    本篇内容主要讲解“Python是强类型语言还是弱类型语言”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python是强类型语言还是弱类型语言”吧!1、动静类型与强弱类型很多读者应该都熟悉动态类型...
    99+
    2023-06-16
  • JavaScript属于宽松类型语言的原因是什么
    这篇文章主要介绍“JavaScript属于宽松类型语言的原因是什么”,在日常操作中,相信很多人在JavaScript属于宽松类型语言的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2022-10-19
  • 什么是javascript弱类型
    这篇文章主要讲解了“什么是javascript弱类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是javascript弱类型”吧!在javascrip...
    99+
    2022-10-19
  • 弱类型语言javascript开发中的示例分析
    这篇文章主要介绍了弱类型语言javascript开发中的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。测试1: (未声明变量自动提升...
    99+
    2022-10-19
  • javascript是不是强类型语言
    本篇内容主要讲解“javascript是不是强类型语言”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript是不是强类型语言”吧! ...
    99+
    2022-10-19
  • php是什么类型的语言
    这篇“php是什么类型的语言”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php是什么类型的语言”文章吧。php是解释型语言...
    99+
    2023-06-29
  • docker用go语言的原因是什么
    小编给大家分享一下docker用go语言的原因是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!首先主流服务使用Unix/Linux操作系统,而go语言对于第三方的依赖相当的少,这样使用go语言开发的Docker基本能够...
    99+
    2023-06-14
  • 弱类型语言javascript中a,b运算的示例分析
    小编给大家分享一下弱类型语言javascript中a,b运算的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:下...
    99+
    2022-10-19
  • python是什么类型的编程语言
    Python是一种面向对象的动态、强类型的编程语言,是一门有条理的和强大的面向对象的程序设计语言。Python简单易用,学习成本低,看起来非常优雅干净;Python标准库和第三库众多,功能强大,既可以开发小工具,也可以开发企业级应用。本教程...
    99+
    2023-05-14
    python
  • javascript属于什么类型的语言
    这篇文章将为大家详细讲解有关javascript属于什么类型的语言,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript可以做什么1.可以使网页具有交互性,例如响应用户点击,给用户提供更好的体...
    99+
    2023-06-14
  • go语言数据类型是什么
    Go语言中的数据类型是指变量或表达式的值的属性,用于描述数据的种类和限制,分为”基本类型“、”复合类型“和”其他类型“三种:1、基本类型,包括整型、浮点型、复数型、布尔型和字符串型;2、复合类型,包括数组类型、切片类型、结构体类型、接口类型...
    99+
    2023-12-18
    go语言 Golang Go语言数据类型
  • javascript中原始类型指的是什么
    这篇文章主要介绍了javascript中原始类型指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、类型说明boolean布尔,值为 true 或 false&nbs...
    99+
    2023-06-15
  • javascript语言属于什么类型
    本篇内容主要讲解“javascript语言属于什么类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript语言属于什么类型”吧! ...
    99+
    2022-10-19
  • Javascript属于什么语言类型
    小编给大家分享一下Javascript属于什么语言类型,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript是一种属于网络的高级脚本语言,已经被广泛用...
    99+
    2023-06-14
  • MySQL中不使用Text类型的原因是什么
    MySQL中不使用Text类型的原因是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。众所周知,MySQL广泛应用于互联网的OLTP(联机事...
    99+
    2022-10-18
  • Go语言类型别名指的是什么
    这篇文章主要介绍了Go语言类型别名指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言类型别名指的是什么文章都会有所收获,下面我们一起来看看吧。在Go语言中,类型别名就是为已存在的“类型”定义一个别...
    99+
    2023-07-05
  • Go语言struct要使用tags的原因是什么
    这篇文章主要介绍了Go语言struct要使用tags的原因是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言struct要使用tags的原因是什么文章都会有所收获,下面我们一起来看看吧。struct ...
    99+
    2023-07-05
  • Go语言之嵌入类型是什么
    今天小编给大家分享一下Go语言之嵌入类型是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、什么是嵌入类型先看如下代码:...
    99+
    2023-07-02
  • javascript的原型和原型链是什么
    小编给大家分享一下javascript的原型和原型链是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作