zoukankan      html  css  js  c++  java
  • js变量

    1.js变量分为引用类型和值类型,引用类型包括:function,array,object。他们的区别,通过以下代码来解释:

     1 //值类型型变量
     2 var a=10;
     3 var b=a;
     4 b=20;
     5 console.log(a);//10;
     6 
     7 //引用型变量
     8 var a={
     9     age:10;
    10 }
    11 var b=a;
    12 b.age=20;
    13 console.log(a.age);//20

    值类型在赋值给另一个变量时,两个变量是互不干扰,因为他们的内存是独立的。而引用类型是用一个指针指向一个内存空间,在赋值时,实际上是给新变量一个指针也指向这个内存空间所以,两个变量之间是相互影响的。

    2.js变量类型

    1 typeof 1;          //number
    2 typeof true;       //boolean
    3 typeof 'hello';    //string
    4 typeof undefined;  //undefined
    5 typeof null;       //object
    6 typeof {};         //object
    7 typeof [];         //object
    8 typeof console.log //function

    js的六种数据类型:number , boolean ,string ,undefined, object,function。

    typeof只能区分出值类型变量,不能区分出引用类型变量,引用类型变量只能区分出funciton,不能区分object和array。

    3.===与==的区别,分别是在什么场景下使用。

    ==在赋值时,会进行类型强制转换,而===不会。

    1 console.log(10=='10') //true

    ==的使用场景:

    1 if(obj.a==null){
    2     //这里相当于obj.a===null||obj.a===undefined,简写形式
    3     //这是jquery源码中的推荐写法
    4 }

    其他情况下,一律使用===

    4.类型强制转换出现的几个地方

    一,字符串拼接

    二、使用==

    三,if()条件判断中

    四,逻辑运算符中

     1 var a=10+'10';
     2 console.log(a); //'1010';
     3 
     4 console.log(10=='10')//true (10转化成字符串'10')
     5 console.log(0=='');//true   (0和空字符串都会转换成false)
     6 console.log(null=undefined);//true  (null和undefined都会转换成false)
     7 
     8 var a=10;
     9 if(a){
    10     //.... 这里会进入if语句,因为会把10强转为true
    11 }
    12 var a='';
    13 if(a){
    14     //... 这里不会进入if语句,因为会把''强转为false;
    15 }
    16 
    17 console.log(10&&0);//0 (10会被强转为true,而&&符号的规则是前面为true,则结果为后面的值,相反,前面为false时,结果为前面的值);
    18 console.log(''||'abc');//abc (''会被强转为false,而||符号的规则是前面为ture时,结果为前面,前面结果为false时,结果为后面,与&&正相反)
    19 console.log(!window.abc)//false (window.abc值为undefined,经过!转换后就变成了true)

    所以,判断一个值是为true还是false时,可以:

    1 //判断一个值为true还是false
    2 var a=10;
    3 console.log(!!a);

    5.js中的内置函数

    Object
    Array
    Boolean
    String
    Number
    Function
    Date
    RegExp
    Error

    6.如何理解json

    json是一种数据格式,也可以看做是js的对象。

    json的两个方法:

    1 JSON.stringify({a:10,b:20});//将js对象转换成json数据
    2 JSON.parse('{"a":10,"b":20}');//将json数据转化成js对象
  • 相关阅读:
    Hql语句注意事项总结
    数据库主键设计之思考
    UTF8的中文问题
    DirectShow SDK笔记【关于DirectShow(4)】
    关于kindeditor上传图片出现"服务器发生故障"的解决办法
    php 分隔字符串为数组
    yum 一次性安装 apache mysql php
    linux下安装gd库
    三种实现PHP伪静态页面的方法
    (转)Linux利器 strace
  • 原文地址:https://www.cnblogs.com/cherryshuang/p/8504679.html
Copyright © 2011-2022 走看看