乐趣区

关于javascript:Js特点和数据类型

特点

1) 不仅能够运行在浏览器,也能够运行在服务器【nodejs 环境】浏览器
        动画、事件、表单验证
    服务器
        操作数据库、网络
        mysql
  
2) 能够加重服务器的压力
    能够通过表单验证来束缚用户输出的内容,如果内容格局与表单验证的规定不统一,则不会发送申请
3) 解释型语言
    c -> 编译 -> 运行
    js -> 运行
    所有的支流浏览器都内置了 js 的解析器
4) 弱类型语言
    变量的数据类型能够随时的变动
5) 浏览器是从上往下解析 js 代码 

1) js 的应用形式

1. 外部援用
    <script> </script>
2. 内部援用
    <script src=""></script>

2) 变量

0. 正文
    单行正文 //
    多行正文 /* */
1. 定义
    是一个容器,能够寄存任意数据类型的值
2. 申明
    应用关键字 var
    var a;

    关键字
        js 中具备特殊作用的变量
    保留字
        未来有可能成为关键字的变量
    留神:1、变量能够是数字、字母、下划线、$ 组成
        2、不能是数字、下划线开始
        3、不能应用关键字和保留字
        4、多个变量申明时能够只写一个 var
            var a,b,c;
        5、变量的命名应该是驼峰命名法
            var userName = '';
            var userPassword = '';
3. 初始化
    var a;   a = 1;
    var b;   b = [];
    变量的申明和初始化同时进行
    var a = 1;

3) 数据类型

  1. 根本数据类型

     数字类型 number
         整数
             var a = 1;
         浮点数
             var b = 1.2;
         非数字 NaN not a number
             var c = 10/'hello'; // NaN(isNaN 检测以后变量是否是非数字,如果不是数字,则返回 true)console.log(isNaN(c)); // true
    
     字符串类型 string
         ''或""
         var a = ''; // 空字符串
         var b = 'hello js'; // hello js
    
     布尔类型 boolean
         true/false,个别用于条件的判断
         var a = true; // true
    
     null
         空对象
         var obj = null;
         obj = {name:'tom',age:23};
    
     undefined
         变量申明未初始化
    
     数据类型的检测,应用 typeof
         var str = '5';
         var bol = true;
         console.log('str:',typeof(str)); // string
         console.log('bol:',typeof(bol)); // boolean
         console.log('null:',typeof(null)); // object
         console.log('undefined:',typeof(undefined)); // undefined
         console.log('arr:',typeof([])); // object
         能够正确检测除了 null 之外的所有根本数据类型
    
  2. 援用数据类型

     数组 array
         var a = []; // 空数组
         var b = [1,'1',null,function(){}]
     对象 object
         var a = {};
     函数 function
         var a = function(){}
    
     es6 原始数据类型 6 种,symbol
    

4) 内存图

 根本数据类型保留在栈区,援用数据类型保留在堆区 (援用数据类型在栈区保留的是一个指针)
 值传递
    var a = 1;
    var b = a;
    b++;
    console.log(a); // 1
援用传递
    var c = {age:12};
    var d = c;
    d.age++;
    console.log(c.age); // 13

    
退出移动版