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 -- 时光流逝(一):数据类型,变量,类型转换,函数的更多相关文章

  1. javascript 数据类型 变量 类型转换运算符

    数据类型: 1.字符串(被双引号所包含的内容),小数,整数,日期时间,布尔型等. 2.变量: 都是通用类型的var,    定义一个变量格式:var a: 3.类型转换: 分为自动转换和强制转换,一般 ...

  2. JavaScript -- 时光流逝(七):js中的全局函数

    JavaScript -- 知识点回顾篇(七):js中的全局函数 全局函数可用于所有内建的 JavaScript 对象. (1) encodeURI():把字符串编码为 URI. <script ...

  3. JavaScript学习笔记——2.数据类型与类型转换

    数据类型 JS中一共分成六种数据类型 1- String 字符串 2- Number 数值 3- Boolean 布尔值 4- Null 空值 5- Undefined 未定义 6- Object 对 ...

  4. JavaScript -- 时光流逝(九):Window 对象、Navigator 对象

    JavaScript -- 知识点回顾篇(九):Window 对象.Navigator 对象 1. Window 对象 1.1 Window 对象的属性 (1) closed: 返回窗口是否已被关闭. ...

  5. JavaScript -- 时光流逝(八):js中的事件Event的使用

    JavaScript -- 知识点回顾篇(八):js中的事件Event的使用 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行. (1) onabort : onabort 事件会在图像 ...

  6. JavaScript -- 时光流逝(十三):DOM -- Console 对象

    JavaScript -- 知识点回顾篇(十三):DOM -- Console 对象 (1) assert() : 如果断言为 false,则在信息到控制台输出错误信息.(2) clear() : 清 ...

  7. JavaScript -- 时光流逝(十二):DOM -- Element 对象

    JavaScript -- 知识点回顾篇(十二):DOM -- Element 对象 (1) element.accessKey: 设置或返回accesskey一个元素,使用 Alt + 指定快捷键 ...

  8. JavaScript -- 时光流逝(十一):DOM -- Document 对象

    JavaScript -- 知识点回顾篇(十一):DOM -- Document 对象 (1) document.activeElement: 返回文档中当前获得焦点的元素. <!doctype ...

  9. JavaScript -- 时光流逝(十):Screen 对象、History 对象、Location 对象

    JavaScript -- 知识点回顾篇(十):Screen 对象.History 对象.Location 对象 1. Screen 对象 1.1 Screen 对象的属性 (1) availHeig ...

随机推荐

  1. Go基础系列:惰性数值生成器

    惰性数值生成器是指在需要的时候才生成下一个数值,不需要的时候就卡在那.这和python的列表推导表达式类似.惰性生成器的好处是不会一次性将全部结果返回或放进内存,而是每次只返回一个,这样不会在某一时刻 ...

  2. eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建

    这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 接下来马上进入项目搭建 ...

  3. C#通过窗体属性缩小一定尺寸时,无法再缩小窗体尺寸问题

    问题:通过窗体属性缩小窗体尺寸时,发现改变到一定大小时无法再缩小.条件:在代码中设置窗体的尺寸由窗体属性里设置的宽高决定,但实际通过窗体属性设置窗体大小,一定大小时无法再缩小,那是因为我们没有把窗体属 ...

  4. mysql中general_log查询日志

    作为mysql的通用查询日志,记录增删改查操作的,都有日志文件记录的. 经上网查资料,得知,通用查询日志--可以关闭 show global variables like '%general%'; 同 ...

  5. 深入理解JAVA中的NIO

    前言: 传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低. 所以,jdk 1.4 发布了 NIO 包,NIO 的文件读写设计颠覆了传统 IO 的设 ...

  6. MySQL技巧(一)

    NOT IN 与 IN 假设我们又一张score表如下 我们需要查询所有不是性别代号为"0"的学生数据 ); 很明显,not in 就是排除的意思. exists 与 not ex ...

  7. NPM测试模块之rewire教程

    摘要:有了rewire模块,再也不用担心测试私有函数了. 在玩转Node.js单元测试,我介绍了3个用于编写测试代码的NPM模块:Mocha, Should以及SuperTest.为了怂恿大家写单元测 ...

  8. MySQL添加新用户、为用户创建数据库、为新用户分配权限

    登录MySQL [root@VM_0_2_33_centos /]#mysql -u root -p 添加新用户 允许本地 IP 访问 localhost, 127.0.0.1 mysql>'; ...

  9. JavaScript 比较 和 逻辑运算符

    比较运算符 比较运算符在逻辑语句中使用,以测定变量或值是否相等. === 绝对等于(值和类型均相等) !=  不等于 !==  不绝对等于(值和类型有一个不相等,或两个都不相等) >  大于 & ...

  10. java map集合 --遍历

    1.Map 遍历: Map<Integer, String> map = new HashMap<Integer, String>(); map.put(1, "a& ...