数据类型转换,JS操作HTML
数据类型转换
1.自动转换(在某种运算环境下)
- Number环境
- String环境
- Boolean环境
2.强制类型转换
Number()
字符串:纯数字和空字符转为正常数字,其他NaN
布尔值:ture=1,false=0
var str = "abc"
console.log(typeof(str));
var num = Number(str);
console.log(num);
console.log(typeof(num));
console.log("")
/* 最终输出
string
NaN
number*/
String()
原样输出
var num=108.1;
console.log(typeof(num));
var str=String(num);
console.log(str);
console.log(typeof(str));
console.log("")
/*浏览器最终输出
number
108.1
string*/
Boolean()
转化为false:数字0,空字符串,null和underfined
转化为true:值表示有东西
var v=100;
console.log(typeof(v));
var b=Boolean(v);
console.log(b);
console.log(typeof(b));
console.log("");
// number
// true
// boolean
//
parseInt()
转化为整数
与Number的区别:一数字开头的字符串,不会转化为NaN
var v="abc123";
console.log(typeof(v));
var n=parseInt(v);
console.log(n);
console.log(typeof(n));
console.log("");
/*string
NaN
number
*/
parseFloat()
转换为小数或整数
与Number的区别:一数字开头的字符串,不会转换为NaN
var v="123.14abc";
console.log(typeof(v));
var n=parseFloat(v);
console.log(n);
console.log(typeof(n));
console.log("")
/*string
123.14
number
*/
JS操作 HTML
1.事件
- onclick
2.函数
声明函数
function 函数名(){
代码;
}
调用函数
函数名()
3.获取元素
- document.getElementById(" ")
- js代码写在html元素里面
JS操作html元素的属性以及css数据
元素对象.属性名
元素对象.style.属性名
css属性名用小驼峰命名法.只有写在元素style中的css属性,才可以被获取
innerHTML属性 获取或设置双标签内的内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简易 加法计算器</title>
<style>
input,button{
box-sizing:border-box;
width:300px;
padding:10px;
font-size:16px;
line-height:16px;
border:1px solid #ccc;
}
button{
background:#f5f5f5;
}
#resBox{
box-sizing:border-box;
width:300px;
height:200px;
padding:20px;
border:1px solid #ccc;
}
</style>
</head>
<body>
<table>
<tr>
<td>加数1</td>
<td><input type="text" id="num1"></td>
</tr>
<tr>
<td>加数2</td>
<td><input type="text" id="num2"></td>
</tr>
<tr>
<td></td>
<td>
<button onclick="add()">加</button>
</td>
</tr>
<tr>
<td></td>
<td>
<div id="resBox"></div>
</td>
</tr>
</table> <script>
function add(){
//获取两个input
var num1Input = document.getElementById("num1");
var num2Input = document.getElementById("num2"); //获取两个input中的输入值 并进行强制转换
var num1Value = Number(num1Input.value);
var num2Value = Number(num2Input.value); //对加数1 进行判断
if (isNaN(num1Value)){
alert("请在第一个加数输入正确的数字");
return; //结束函数
}
//对加数2进行判断
if (isNaN(num1Value)){
alert("请在第二个加数输入正确的数字");
return;//结束函数
}
//执行加法
var res = num1Value + num2Value;
//把结果输出到resBox中
var resBox = document.getElementById("resBox");
resBox.innerHTML = res;
} </script>
</body>
</html>
表达式
- 简单表达式:变量,直接量
- 复杂表达式:运算符与简单表达式的组合
- 函数调用表达式
运算符
1.算术运算符
- 加号运算符 +
- 减号运算符 -
- 乘号运算符 *
- 除号运算符 /
- 取余运算符(取模) %
- 负数运算符 -
- 整数运算 +
- 递增运算符 ++
- 递减运算符 --
2.比较运算符
- 相等运算符 ==
- 不等运算符 !=
- 全等运算符 ===
- 不全等运算符 !==
- 小于运算符 <
- 小于等于运算符 <=
- 大于运算符 >
- 大于等于运算符 >=
- in运算符
3.位运算符
- 按位与 &
- 按位或 |
- 按位非 ~
- 按位异或 ^
- 左移
- 右移
4.赋值运算符
- =
- +=
- -=
- *=
- /=
- %=
5.其他运算符
- 字符串连接符 +
,运算符- typeof 运算符
- 比较运算符 表达式 ? 表达式1 : 表达式2
数据类型转换,JS操作HTML的更多相关文章
- Util应用程序框架公共操作类(一):数据类型转换公共操作类(介绍篇)
本系列文章将介绍一些对初学者有帮助的辅助类,这些辅助类本身并没有什么稀奇之处,如何能发现需要封装它们可能更加重要,所谓授之以鱼不如授之以渔,掌握封装公共操作类的技巧才是关键,我会详细说明创建这些类的动 ...
- Util应用程序框架公共操作类(三):数据类型转换公共操作类(扩展篇)
上一篇以TDD方式介绍了数据类型转换公共操作类的开发,并提供了单元测试和实现代码,本文将演示通过扩展方法来增强公共操作类,以便调用时更加简化. 下面以字符串转换为List<Guid>为例进 ...
- Util应用程序框架公共操作类(二):数据类型转换公共操作类(源码篇)
上一篇介绍了数据类型转换的一些情况,可以看出,如果不进行封装,有可能导致比较混乱的代码.本文通过TDD方式把数据类型转换公共操作类开发出来,并提供源码下载. 我们在 应用程序框架实战十一:创建VS解决 ...
- (2017.10.16) javascript 数据类型转换与操作
javascript 有 5 种基本数据类型:undefined.null.Boolean.String.Number,还有1 种较复杂的数据类型 Object:各种类型之间可以相互转换,其中有些有趣 ...
- JSON格式数据的js操作
第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...
- JS 数据类型转换
JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...
- JS数据类型转换
JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...
- {}+[] = ? 和 []+{} = ? 浅谈JS数据类型转换
参加公司技术嘉年华第一季(前端.服务端)的间隙,陈导问了我一个问题:{}+[] 和 []+{}两个表达式的值分别是什么?根据我的理解我觉得结果应该都是"[object Object]&quo ...
- JS的数据类型转换
JS 数据类型转换 方法主要有三种 转换函数.强制类型转换.利用js变量弱类型转换. 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把 ...
随机推荐
- C++STL——map
一.相关定义 map 关联容器,存储相结合形成的一个关键值和映射值的元素 提供一对一(第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可以称为该关键字的值)的数据处理能力 map对象是模 ...
- 【iOS开发】UIViewController的基本概念与生命周期
http://www.cnblogs.com/wayne23/p/3868535.html UIViewController是iOS顶层视图的载体及控制器,用户与程序界面的交互都是由UIViewCon ...
- JAVA课程设计 俄罗斯方块
俄罗斯方块 可实现功能 1.账号管理:登录.注册 2.游戏实现:移动.旋转.消除方块统计得分.暂停游戏.暂停后继续游戏.此轮游戏未结束开启新一轮游戏.游戏未结束退出游戏. 3.排行榜:按分数排名.按局 ...
- 2017Nowcoder Girl初赛重现赛
https://ac.nowcoder.com/acm/contest/315#question A.平方数 代码: #include <bits/stdc++.h> using name ...
- tomcat8 管理页面403 Access Denied的解决方法
安装tomcat,配置好tomcat环境变量以后,访问manager app页面,出现403 Access Denied错误,解决的方法如下: 首先在conf/tomcat-users.xml文件 ...
- WCF身份验证三:自定义身份验证之<MessageHeader>
关于使用SoadHeader验证Robin已经有一篇十分精彩的文章: WCF进阶:为每个操作附加身份信息, 不过我的思维方式总是跟别人有点不太一样, 还是把类似的内容用我的方式重新组织一下. 使用He ...
- password & Encryption
password & Encryption cipher https://dev.tencent.com/login
- IPad Pro 2018 & sketch
IPad Pro 2018 & sketch https://sketch.cloud/s/MyY5w/LJmLgW
- 使用ExecutorService实现线程池
ExecutorService是java提供的用于管理线程池的类. 线程池的作用: - 控制线程数量 - 重用线程 当一个程序中创建了许多线程,并在任务结束后销毁,会给系统带来过度消耗资源,以及过度切 ...
- 【bzoj4236】JOIOJI STL-map
题目描述 JOIOJI桑是JOI君的叔叔.“JOIOJI”这个名字是由“J.O.I”三个字母各两个构成的. 最近,JOIOJI桑有了一个孩子.JOIOJI桑想让自己孩子的名字和自己一样由“J.O.I” ...