3.2typeof 类型转换

本文深入探讨了JavaScript中的各种控制流程语句,包括switch、while、for循环及continue和break的使用,并详解了类型转换的多种方式,如Number、String、Boolean等函数的运用,以及隐式类型转换的现象。

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

内容上下会有些衔接。。。

swich循环语句

	var n = 3;
	switch(n){
		case 1:
			console.log('a');
		case 2:
			console.log('b');
		case 3:
			console.log('c');
	}

这是一道题

	var n = 'a';
	switch(n) {
		case "a":
			console.log('a');break;
		case 2:
			console.log('b');break;
		case true:
			console.log('c');break;

	}

这是一道题

	var date = window.prompt('inout');
	switch(date) {
		case "monday":
		case "tuesday":
		case "wednesday":
		case "thursday":
		case "friday":
			console.log('working');break;
		case "saturday":
		case "sunday":
			console.log('relax');break;

	}

这是一道题

	var i = 0;
	while(1){
		i ++;
		console.log(i);
		if(i > 100){
			break;
		}
	}

这是一道题

	var i = 0;
	var sum = 0;
	for (i = 0; i < 100; i++) {
		sum += i;
		console.log(i);
		if (sum > 100) {
			break;
		}
	}

这是一道题

	for (var i = 0; i < 100; i++) {
		if (i % 7 == 0 || i % 10 == 7) {
			continue;
		}
		console.log(i);
	}
	// continue直接开始下一次循环

这是一道题

	var  arr = [1,2,3,4,6,'da',"gasf",undefined];
	for (var i = 0; i < arr.length; i++) {
				console.log(arr[i]);
	}

这是一道题

		var deng = {
		lastname : "Deng",
		age : 40,
		sex : undefined,
		wife : "xiaoliu",
		father : "dengdaye",
		son : "xiaodeng",
		handsome : false,
	}
	console.log(deng.lastname);
	deng.lastname = "Old Deng";
	console.log(deng.lastname);

1.面向过程
2.面向对象

typeof可以返回number string boolean object undefined function

	var num = function(){};
	console.log(typeof(num));

	var num = 123;
	console.log(typeof(num));

	var num = 1 * "1";
	console.log(typeof(num) + " : " + num);

类型转换

	var demo = "123";
	var num = Number(demo);
	console.log(typeof(num) + " : " + num);

	var demo = "123abc";
	var num = parseInt(demo);
	console.log(typeof(num) + " : " + num);

	var demo = "10";
	var num = parseInt(demo, 16);     //以16为基底转化成10进制
	console.log(typeof(num) + " : " + num);

	var demo = "123.33fefsd";
	var num = parseFloat(demo);
	console.log(typeof(num) + " : " + num);

	var demo = "123.3212adsdwa";
	var num = String(demo);
	console.log(typeof(num) + " : " + num);

	var demo = "123";
	var num = Boolean(demo);
	console.log(typeof(num) + " : " + num);

	var demo = "20";
	var num = demo.toString(8);  //把demo的值转化成8进制的数的结果
	console.log(typeof(num) + " : " + num);

	把二进制10000转化成16进制的数
	var num = 10000;
	var text =  parseInt(num,2);
	console.log(text.toString(16));

隐式类型转换

	console.log(isNaN(null));
	
	var a = "abc";
	a ++;
	console.log(a + " : " + typeof(a));

	var a = "a" + 1;
	console.log(a + " : " + typeof(a));

	var a = 1 == true;
	console.log(a + " : " + typeof(a));

	var a = 1 === "1";
	console.log(a + " : " + typeof(a));

	console.log(typeof(typeof(a)));

	console.log(typeof(a + ""));

这是一群题

	  alert(typeof(a));
	  
 	  alert(typeof(undefined));
 	  
 	  alert(typeof(NaN));
 	  
 	  alert(typeof(null));
 	  
 	  var a ="123abc";
 	  
 	  alert(typeof(+a));
 	  
 	  alert(typeof(!!a));
 	  
 	  alert((typeof(a +""));
 	  
 	  alert(1=="1");
 	  
 	  alert(NaN == NaN);
 	  
 	  alert(NaN == undefined);
 	  
 	  alert("11" + 11);
 	  
 	  alert(1==="1");
 	  
 	  alert(parselnt("123abc")) ;
 	  
 	  var num = 123123.345789;
 	  
 	  alert(num.toFixed(3));
``` Option Explicit Private Sub btnStart_Click() Dim diameterA As Double Dim diameterB As Double &#39; 获取输入的直径 On Error Resume Next diameterA = CDbl(txtDiameterA.Text) diameterB = CDbl(txtDiameterB.Text) On Error GoTo 0 If diameterA <= 0 Or diameterB <= 0 Then MsgBox "请输入有效的直径数值!", vbExclamation, "错误" Exit Sub End If Dim acadApp As Object Dim acadDoc As Object Dim selSet As Object Dim filterType(0) As Integer Dim filterData(0) As Variant Dim obj As Object Dim circ As Object Dim newCirc As Object Dim centerPoint As Variant Dim newCenter(0 To 2) As Double Dim radius As Double Dim newRadius As Double &#39; 获取AutoCAD应用程序对象 Set acadApp = ThisDrawing.Application Set acadDoc = acadApp.ActiveDocument &#39; 允许用户选择对象 On Error Resume Next filterType(0) = 0 &#39; 过滤对象类型 filterData(0) = "CIRCLE" acadDoc.Utility.Prompt "请框选查找6.4mm圆的区域..." Set selSet = acadDoc.SelectionSets.Add("MySelectionSet") selSet.SelectOnScreen filterType, filterData &#39; 遍历选定对象 If selSet.count > 0 Then For Each obj In selSet If TypeOf obj Is AcadCircle Then Set circ = obj radius = circ.radius &#39; 检查是否是直径6.4mm的圆 If Abs(radius * 2 - diameterA) < 0.001 Then centerPoint = circ.center newRadius = diameterB &#39; 新圆的半径为1mm的一半 &#39; 计算新圆心,使新圆位置 newCenter(0) = centerPoint(0) + radius &#39;+ newRadius newCenter(1) = centerPoint(1) newCenter(2) = centerPoint(2) &#39; 创建新圆 Set newCirc = acadDoc.modelSpace.AddCircle(newCenter, newRadius) newCirc.color = 1 &#39; 设为红色以便区分 End If End If Next Else acadDoc.Utility.Prompt "未找到符合条件的圆!" End If &#39; 清理选择集 selSet.Delete End Sub Private Sub btnExit_Click() Unload Me End Sub```这是AutoCAD的vba代码,运行没有报错,但是也不能有效执行命令,检查一下错误
03-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值