JavaScript -- 时光流逝(一):数据类型,变量,类型转换,函数
JavaScript -- 知识点回顾篇(一):数据类型,变量,类型转换,函数
1. 数据类型
Boolean:值类型,布尔(逻辑)只能有两个值:true 或 false。
Number:值类型,JavaScript 只有一种数字类型。数字可以带小数点,也可以不带
string:值类型,字符串可以是引号中的任意文本。您可以使用单引号或双引号
Undefined:只有一个值undefined
Null:只有一个值Null
Object:对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔。
2. 声明变量
(1)声明变量一般用 var 来声明(弱类型语言)。声明变量不写 var 关键字,表示该变量是一个整个页面都能访问的变量。
(2)变量声明未赋值 -> undefined。
- <script type="text/javascript">
- var i;
- alert(i); //undefined
- </script>
(3)变量未声明 -> 报错。
- <script type="text/javascript">
- alert(i);
- </script>
(4)重复声明变量,忽略第二次声明,第二次的声明无效。(因为变量声明未赋值时,值是undefined。如果第二次声明有效,下图弹出的值应该是undefined)
- <script type="text/javascript">
- var i=10;
- var i;
- alert(i); //10
- </script>
3. 变量作用域
在 js中不存在块级作用域范围。
在方法内声明的变量,在整个方法内可用;在方法外部声明的变量,整个页面可用。
4. 数据类型转换
(1)将字符串转换成数字类型:从第一个字符开始转,直到不能转换时返回。
- <script type="text/javascript">
- var s='123adsja'
- s=parseInt(s);
- alert(s);
- </script>
(2)将数字当作 n 进制转换 (例:15作为8进制转换)
- <script type="text/javascript">
- var s=15
- s=parseInt(s,8);
- alert(s);
- </script>
(3)字符串转换成整数,转换成小数。直到不能转换时返回。
- <script type="text/javascript">
- var s='32.666'
- s=parseInt(s);
- alert(s);
- </script>
- <script type="text/javascript">
- var s='32.6.4.2'
- s=parseFloat(s);
- alert(s);
- </script>
(4)把任意类型转换成数字类型
Number(false) -> 0
Number(true) -> 1
Number(undefined) -> NaN
Number('1.2') -> 1.2
Number('1.2.3') -> NaN
(5)把任意类型转换成Boolean -> 非空即为True
(6)把任意类型转换成string
- <script type="text/javascript">
- var s=123
- alert(s.toString());
- </script>
5. 判断一个值是否是一个 NaN ,不能用==,要用 isNaN
6. 逻辑运算符
|| :一个为真,不会再判断另一个
&&:两个都要判断
7. js 中没有函数重载,遇到同名函数,会用最后一次的函数定义覆盖前面的函数定义。
8. 在 js 中定义函数,无返回值类型,无参数类型(下图的函数 getSum 没有返回值类型,传入的参数a,b也没有变量类型)。
- <script type="text/javascript">
- function getSum(a,b){
- return a+b;
- }
- alert(getSum(10,20));
- </script>
9. 函数
(1)可变参数:实际调用时,所有的参数都包含在arguments对象中
- <script type="text/javascript">
- function add(){
- var sum=0;
- for(var i=0;i<arguments.length;i++)
- {
- sum+=arguments[i];
- }
- return sum;
- }
- alert(add(10,30,20,20,20)); //100
- </script>
(2)在 js 中声明匿名函数
- <script type="text/javascript">
- var f = function (){
- alert('Hello');
- }
- f();
- </script>
(3)函数的预解析:在一个<script></script>标签内,会把所有的函数先预解析,js 代码再从上到下执行。
10. js脚本执行
当<script></script>块中的代码执行出错后,该块中的代码不会继续执行,但不会影响其他<script></script>块中的代码执行。
JavaScript -- 时光流逝(一):数据类型,变量,类型转换,函数的更多相关文章
- javascript 数据类型 变量 类型转换运算符
数据类型: 1.字符串(被双引号所包含的内容),小数,整数,日期时间,布尔型等. 2.变量: 都是通用类型的var, 定义一个变量格式:var a: 3.类型转换: 分为自动转换和强制转换,一般 ...
- JavaScript -- 时光流逝(七):js中的全局函数
JavaScript -- 知识点回顾篇(七):js中的全局函数 全局函数可用于所有内建的 JavaScript 对象. (1) encodeURI():把字符串编码为 URI. <script ...
- JavaScript学习笔记——2.数据类型与类型转换
数据类型 JS中一共分成六种数据类型 1- String 字符串 2- Number 数值 3- Boolean 布尔值 4- Null 空值 5- Undefined 未定义 6- Object 对 ...
- JavaScript -- 时光流逝(九):Window 对象、Navigator 对象
JavaScript -- 知识点回顾篇(九):Window 对象.Navigator 对象 1. Window 对象 1.1 Window 对象的属性 (1) closed: 返回窗口是否已被关闭. ...
- JavaScript -- 时光流逝(八):js中的事件Event的使用
JavaScript -- 知识点回顾篇(八):js中的事件Event的使用 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行. (1) onabort : onabort 事件会在图像 ...
- JavaScript -- 时光流逝(十三):DOM -- Console 对象
JavaScript -- 知识点回顾篇(十三):DOM -- Console 对象 (1) assert() : 如果断言为 false,则在信息到控制台输出错误信息.(2) clear() : 清 ...
- JavaScript -- 时光流逝(十二):DOM -- Element 对象
JavaScript -- 知识点回顾篇(十二):DOM -- Element 对象 (1) element.accessKey: 设置或返回accesskey一个元素,使用 Alt + 指定快捷键 ...
- JavaScript -- 时光流逝(十一):DOM -- Document 对象
JavaScript -- 知识点回顾篇(十一):DOM -- Document 对象 (1) document.activeElement: 返回文档中当前获得焦点的元素. <!doctype ...
- JavaScript -- 时光流逝(十):Screen 对象、History 对象、Location 对象
JavaScript -- 知识点回顾篇(十):Screen 对象.History 对象.Location 对象 1. Screen 对象 1.1 Screen 对象的属性 (1) availHeig ...
随机推荐
- Perl读取标准输入<STDIN>、读取文件输入<>和chomp函数
读取标准输入<STDIN> <STDIN>表示从标准输入中读取内容,如果没有,则等待输入.<STDIN>读取到的结果中,如果没有意外,都会自带换行符. 例如,tes ...
- 基于 LWIP 建立 TCP Server 与主机通信实验
LWIP 版本:2.0.3 上一篇文章是写如何将 LWIP 移植到板子上,今天晚上记录基于 LWIP 实现与主机的网络通信. 先是打开了原子的实验例程,大概浏览了一遍,觉得 TCP 网络网络通信也就是 ...
- XAML: 在 MVVM 模式中,关于绑定的几处技巧
以下会提到三个绑定的技巧,分别是 在 ListView 中为 ListViewItem 的 MenuFlyout 绑定 Command: 在 ListView 的 事件中绑定所选择项目,即其 Sele ...
- 16.QT-QMap和QHash解析
QMap QMap原型为class QMap <K,T>,其中K表示键,T表示值,K和T属于映射关系. QMap会根据K来自动进行升序键排序 QMap中的K类型必须重载operator & ...
- Java 文件流操作.
一.概念 在Java中,文件的输入和输出是通过流(Stream)来实现的.一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是 Internet 上的某个 URL.对 ...
- mybatis全局属性(全局变量)
mybatis全局属性(全局变量):方法1:在 properties 元素体内,使用<property>标签定义的属性方法2:在 properties 元素中, 使用 resource 或 ...
- 前端入门4-CSS属性样式表
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...
- 真实世界的脉络].(英)戴维.多伊奇.pdf
[真实世界的脉络].(英)戴维.多伊奇.pdf 宇宙.时间.生命.等等,如果用量子物理学.计算机科学.进化论.认识论将这些最基本而又复杂的问题纠缠在一起时,那将会是一幅什么样的图景呢?也许,我们穷尽一 ...
- IE CSS Hack【记录】
1.条件hack 2.属性hack 3.选择器hack CSS Hack一般都是利用各浏览器的支持CSS的能力和BUG来进行的 本文只列举了一些常用的CSS Hack,且不考虑IE6以下的版本 尽可能 ...
- [工具配置]使用requirejs模块化开发多页面一个入口js的使用方式
描述 知道requirejs的都知道,每一个页面需要进行模块化开发都得有一个入口js文件进行模块配置.但是现在就有一个很尴尬的问题,如果页面很多的话,那么这个data-main对应的入口文件就会很多. ...