JS变量与数据类型知识点

本文详细介绍了JavaScript中的数据类型转换,包括自动类型转换、函数转换和强制类型转换,重点讲解了parseInt和parseFloat的使用。同时,讨论了运算符的应用,如%、==和===。此外,还阐述了数组的创建、遍历和操作方法,包括length属性、forEach循环以及数组的方法如push和join。最后提到了数组的indexOf方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.类型转换

很多时候,我们在进行数据运算或输出等操作时需要将数据在不同类型之间进行转 换,在JS 数据类型转方法主要有三种:利用 js 变量弱类型自动转换、转换函数、 强制类型转换.

自动类型转换

undefined 自动转换成字符串是”undefined”,转成数字是NaN,转成布尔值是false

null 自动转换成字符串是”null”, 转成数字是0, 转成布尔值是false

“”(空字符串)自动转换成字符串是””, 转成数字是0, 转成布尔值是false

函数转换(String to Number)

JS 提供了 parseInt()和 parseFloat()两个全局转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对 String 类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是 NaN(Not a Number)。

1.parseInt()在转换之前,首先会分析该字符串,判断位置为 0 处的字符,判断它是否是个有效数字,如果不是,则直接返回 NaN,不再继续,如果是则继续,直到找到非字符

2.parseFloat()方法与 parseInt()方法的处理方式相似,从位置 0 开始查看每个字符,直到找到第一个非有效的字符为止,然后把该字 符之前的字符串转换成数字。不过,对于这个方法来说,第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的,parseFloat()方法会把这个小数点之前的字符串转换成数字。

显示转换

toString()函数将内容转换为字符串形式,其中 Number提供的toString()函数可以将数字以指定的进制转换为字符串,默认为十进制。xx.toString(进制数)

Number 还提供了 toFixed()函数将根据小数点后指定位数将数字转为字符串,四舍五入

强制转换

JS 为 Number、Boolean、String 对象提供了构造方法,用于强制转换其他类型的数据。此时操作的是整个数据,而不是部分

console.log(Number(new Object()));

console.log(Number(new Array()));// 结果是0,代表一个空数组,也是空对象

2.运算符

% 求余数 x=y%2 x=1

%= 例: x%=y -------> x= x%y

== 等于

=== 全等(值和类型) x===5 为 true;x==="5" 为 false

! not

三目运算符 ?: 如果…否则… 例:3>5?3:5

typeof 操作符对数组(array)和对象(object)的显示结果都是 object,那么可以 利用instanceof 运算符,它可用于判断一个变量是否某个对象的实例

数组

数组(array)是按次序排列的一组数据,每个值的位置都有编号(从 0 开始),整个数组用方括号表示。Js 中定义数组的三种方式如下(也可先声明再赋值):

var arr=[值 1,值 2,值 3]; //隐式创建

var arr=new Array(值 1,值 2,值 3); //直接实例化

var array=new Array(size); //创建数组并指定

以上会一种即可.

数组的长度可以通过 length 属性来获取,并可以任意更改数组名.length数组名.length = 新长度.

数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓

数组名[下标]数组名[下标] = 新值

数组的遍历

数组的遍历即依次访问数组的每一个元素 ,JS 提供三种遍历数组的方式:

普通 for 循环遍历 不遍历属性

for(var i=0; i<=数组.length-1; i++){

}

如:

for(var idx=0;idx<arr.length;idx++){

console.log(arr[idx]);

}

for…in 不遍历索引中的 undefined

for(var 下标(名称任意) in 数组名){

数组名[下标]是获取元素

} //下标(名称任意)

如:

for(var idx in arr){

console.log(arr[idx]);

}

forEach 不遍历属性和索引中的 undefined

数组名.forEach(function(element,index){

}) // element(名称任意):元素,index(名称任意):下标

如:

arr.forEach(function(elem,idx){

console.log(idx+"-->"+elem);

});

数组提供的操作方法

Array 对象为我们提供了一些方法,可以很方便地操作数组:

push 添加元素到最后

join 数组转成字符串

var str = arr2.join("*");用括号内的内容进行字符串连接

indexOf 数组元素索引

内容概要:本文详细探讨了双馈风力发电机(DFIG)在Simulink环境下的建模方法及其在不同风速条件下的电流电压波形特征。首先介绍了DFIG的基本原理,即定子直接接入电网,转子通过双向变流器连接电网的特点。接着阐述了Simulink模型的具体搭建步骤,包括风力机模型、传动系统模型、DFIG本体模型和变流器模型的建立。文中强调了变流器控制算法的重要性,特别是在应对风速变化时,通过实时调整转子侧的电压和电流,确保电流和电压波形的良好特性。此外,文章还讨论了模型中的关键技术和挑战,如转子电流环控制策略、低电压穿越性能、直流母线电压脉动等问题,并提供了具体的解决方案和技术细节。最终,通过对故障工况的仿真测试,验证了所建模型的有效性和优越性。 适用人群:从事风力发电研究的技术人员、高校相关专业师生、对电力电子控制系统感兴趣的工程技术人员。 使用场景及目标:适用于希望深入了解DFIG工作原理、掌握Simulink建模技能的研究人员;旨在帮助读者理解DFIG在不同风速条件下的动态响应机制,为优化风力发电系统的控制策略提供理论依据和技术支持。 其他说明:文章不仅提供了详细的理论解释,还附有大量Matlab/Simulink代码片段,便于读者进行实践操作。同时,针对一些常见问题给出了实用的调试技巧,有助于提高仿真的准确性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值