javascript数据类型、函数传参

  • javascript语言核心:ECMAScript
  • 定义js的语法:基本对象、数据类型
  • js的数据类型

    • typeof运算符  判断数据类型

      • 字符串、数字、布尔、函数、对象(obj、[]、{}、null)、未定义(undefined)、数组、null...
      • 数据类型使用原则:一个变量只存放一种类型数据  
  • 数据类型转换
    • 数据类型转换

      • Number、parseInt、parseFloat

        1. <script type="text/javascript">
        2. var a1='';
        3. var a2=' ';
        4. var a3=[];
        5. var a4=null;
        6. var a5=[1];
        7.  
        8. var a6=[1,2,3];
        9. var json={json};
        10. var a7=Number(json);
        11. var a8=function(){alert(1)}
        12. var a9;
        13.  
        14. console.log(Number(a1));//0
        15. console.log(Number(a2));//0
        16. console.log(Number(a3));//0
        17. console.log(Number(a4));//0
        18. console.log(Number(a5));//1
        19.  
        20. console.log(Number(a6));//NaN
        21. console.log(a7);//NaN
        22. console.log(Number(a8));//NaN
        23. console.log(Number(a9));//NaN
        24. </script>
        1. <script type="text/javascript">
        2. var a1='+200px';
        3. var a2='-200px';
        4. var a3='200px12345';
        5. var a4='000000200px12345';
        6.  
        7. console.log(parseInt(a1));//200
        8. console.log(parseInt(a2));//-200
        9. console.log(parseInt(a3));//200
        10. console.log(parseInt(a4));//200
        11. </script>
      • 实例:两个输入框相加
      • 实例:判断输入值是否为小数
    • 隐式类型转换
      • +  =  *  /  %  <  >  ==  !  ++  --
  • 数据类型转换不成功
    • 数字类型:NaN详解

      • not a number不是个数字的数字类型
      • 一旦写程序中出现NaN,肯定进行了非法的运算操作
    • 特点:
      • 非数字的数字类型
      • false
      • NaN!=NaN
  • 检测数字的方法:isNaN
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8">
    5. <title></title>
    6. <script type="text/javascript">
    7. window.onload=function(){
    8. var aLnp=document.getElementsByTagName('input');
    9. var str='';
    10. aLnp[1].onclick=function(){
    11. str=aLnp[0].value;
    12. //Html中拿到的内容,类型都是字符串
    13. //alert(typeof str);
    14. if(isNaN(str)){
    15. alert(str+'不是数字');
    16. }else{
    17. alert(str+'是数字');
    18. }
    19. }
    20. }
    21. </script>
    22. </head>
    23. <body>
    24. <input type="text" />
    25. <input type="button" value="判断输入值是不是数字"/>
    26. </body>
    27. </html>
  • 例子说明

      1. var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90];
      2.  
      3. /*
      4. 1、找到arr里所有的数字:-98765, 34, -2, 0, 5
      5. 2、找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元', 5
      6. 3、把转成数字以后,最大值判断出来:300
      7. 4、把 NaN 所在的位置找出来:1 14 17 19
      8. */
    • 答案1
      1. <!DOCTYPE HTML>
      2. <html>
      3. <head>
      4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      5. <title>无标题文档</title>
      6. <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script>
      7. <script>
      8. var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90];
      9.  
      10. var numArr=[];
      11. $(function(){
      12. for(var i=0;i<arr.length;i++){
      13. if(typeof arr[i]==='number' && !isNaN(arr[i])){
      14. numArr.push(arr[i]);
      15. }
      16. }
      17. console.log(numArr);//[-98765, 34, -2, 0, 5]
      18. });
      19. </script>
      20. </head>
      21. <body>
      22. </body>
      23. </html>
    • 答案2
      1. <!DOCTYPE HTML>
      2. <html>
      3. <head>
      4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      5. <title>无标题文档</title>
      6. <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script>
      7. <script>
      8. var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90];
      9.  
      10. var numArr=[];
      11. $(function(){
      12. for(var i=0;i<arr.length;i++){
      13. if('number' && parseFloat(arr[i])){
      14. numArr.push(arr[i]);
      15. }
      16. }
      17. console.log(numArr);//["100px", -98765, 34, -2, "300", "23.45元", 5]
      18. });
      19.  
      20. /* parseFloat(0) ----> 0 但是结果里面0没有输出来 不知道原因 知道的可以告诉我一下*/
      1. </script>
      2. </head>
      3. <body>
      4. </body>
      5. </html>
    • 答案3
      1. <!DOCTYPE HTML>
      2. <html>
      3. <head>
      4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      5. <title>无标题文档</title>
      6. <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script>
      7. <script>
      8. var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90];
      9.  
      10. var numArr=[];
      11. $(function(){
      12. var index=0;
      13. for(var i=0;i<arr.length;i++){
      14. if(arr[index] < arr[i]){
      15. index = i;
      16. if(!isNaN(arr[i])){
      17. numArr += 'number' && parseFloat(arr[i]);
      18. }
      19. }
      20. }
      21. console.log(numArr);//300
      22. });
      23. </script>
      24. </head>
      25. <body>
      26. </body>
      27. </html>
    • 答案4
      1. <!DOCTYPE HTML>
      2. <html>
      3. <head>
      4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      5. <title>无标题文档</title>
      6. <script src="http://www.jq22.com/jquery/jquery-1.9.1.js"></script>
      7. <script>
      8. var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);},null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90];
      9.  
      10. var numArr=[];
      11. $(function(){
      12. for(var i in arr){
      13. if(typeof arr[i] === 'number' && isNaN(arr[i])){
      14. numArr += i+ '、';
      15. }
      16. }
      17. console.log(numArr);//1、14、17、19、
      18. });
      19. </script>
      20. </head>
      21. <body>
      22. </body>
      23. </html>

javascript学习3的更多相关文章

  1. JavaScript学习(一) —— 环境搭建与JavaScript初探

    1.开发环境搭建 本系列教程的开发工具,我们采用HBuilder. 可以去网上下载最新的版本,然后解压一下就能直接用了.学习JavaScript,环境搭建是非常简单的,或者说,只要你有一个浏览器,一个 ...

  2. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  3. JavaScript学习(3):函数式编程

    在这篇文章里,我们讨论函数式编程. 什么是函数式编程?根据百度百科的描述,“函数式编程是种编程典范,它将电脑运算视为函数的计算.函数编程语言最重要的基础是 λ 演算(lambda calculus). ...

  4. JavaScript学习(2):对象、集合以及错误处理

    在这篇文章里,我们讨论一下JavaScript中的对象.数组以及错误处理. 1. 对象 对象是JavaScript中的一种基本类型,它内部包含一些属性,我们可以对这些属性进行增删操作. 1.1 属性 ...

  5. JavaScript学习13 JavaScript中的继承

    JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...

  6. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  7. JavaScript学习11 数组排序实例

    JavaScript学习11 数组排序实例 数组声明 关于数组对象的声明,以前说过:http://www.cnblogs.com/mengdd/p/3680649.html 数组声明的一种方式: va ...

  8. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  9. JavaScript学习09 函数本质及Function对象深入探索

    JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...

  10. JavaScript学习08 Cookie对象

    JavaScript学习08 Cookie对象 JavaScript Cookie Cookie对象: Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cooki ...

随机推荐

  1. thrift 调取 python php go 客户端代码

    golang package main import ( "fmt" "git.apache.org/thrift.git/lib/go/thrift" &qu ...

  2. 构建Http服务器

    可以通过多种途径来构建服务器用以响应客户端请求(~不提供实现源码,网上有相应资源~) (1)使用ServerSocket构建服务器 (2)使用Servlet构建服务器 (3)使用HttpServer构 ...

  3. 揭秘css

    这是我看到非常好的一本电子教程,可以当参考手册使用,链接

  4. Mysql性能优化三:主从配置,读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  5. deeplearning.ai课程学习(3)

    第三周:浅层神经网络(Shallow neural networks) 1.激活函数(Activation functions) sigmoid函数和tanh函数两者共同的缺点是,在z特别大或者特别小 ...

  6. 简易cmake多文件多目录工程模板

    今天心血来潮,想在服务器上试试写libevent的工程是什么感受,那第一步就是学会怎么用cmake建工程,之前也没接触过cmake,然后一上午,比较懵逼,下午看实验室哥们给的一个教程,然后,慢慢理解C ...

  7. Win7下搭建Zigbee开发环境

    操作系统:64位Win7 芯片类型:Texas Instruments的CC2530 软件平台:IAR v8.10 Zigbee协议栈:ZStack-CC2530-2.5.1a CP2102 USB ...

  8. 微信公众号开发java框架:wx4j(KefuUtils篇)

    wx4j-KefuUtils介绍 函数说明:添加客服 参数:Kefu对象 返回值:微信服务器响应的json字符串 public String addKefu(Kefu kefu) 函数说明: 参数:K ...

  9. Nginx 学习笔记之安装篇

    在windows下安装Nginx其实非常简单,只需如下几个步骤: 1. 在Nginx官网下载相应版本的安装程序,上面有最新版.稳定版等各种版本,正式运营的项目建议下载最新的稳定版 2.将下载后的压缩包 ...

  10. sqoop工具从oracle导入数据2

    sqoop工具从oracle导入数据 sqoop工具是hadoop下连接关系型数据库和Hadoop的桥梁,支持关系型数据库和hive.hdfs,hbase之间数据的相互导入,可以使用全表导入和增量导入 ...