1. JavaScript学习笔记——JS基础

前端之家收集整理的这篇文章主要介绍了1. JavaScript学习笔记——JS基础前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1. JavaScript基础

1.1 语法

  • 严格区分大小写

  • 标识符,第一个字符可以是 $,建议使用小驼峰法,

  • 保留字、关键字、true、false、null不能作为标识符

  • JavaScript是用Unicode字符集编写的

  •  

  • @H_301_37@

     

     

    1.2 数据类型

    • 判断数据类型: typeof xxx

    • 定义变量: var xxx = yyy; 函数内部不加var可以定义全局变量 可以随意改变类型

      • var a,b,c; 定义多个变量

      • @H_301_37@
      • Number 类型:

        • 包括整数和小数

        • var n=0x111;//十六进制 var n=1.2e2;//科学计数法 var n=1.0 //n=1,因为JavaScript会尽量把浮点数转换为整数,因为浮点数占的内存是整数的两倍

        • alert(Number.MAX_VALUE) 支持最大数,MIN_VALUE最小

        • alert(Numver.Infinity) 无穷大

        • NaN(Not A Number)非法数字,不是数字,可以通过 isNaN(xx) 判断,返回Boolean值 alert('哈' - 1) => NaN

        • @H_301_37@
        • String 类型: 'xxx' " t'ttt "

          • \xnn 以十六进制代码nn表示一个字符,如:\x41表示A

          • \unnnn 以十六进制代码nnnn表示一个Unicode字符

          • 除了 null undefined 外的所有值都有toString()方法,可以把相应的值转换为字符串形式

          • @H_301_37@
          • Boolean 类型:

            • 通过Boolean(xxx) 转换,== 判断不出

              • true:非零数值,非空字符串,非null对象

              • false:0 空字符串,Null,Undefined

              • @H_301_37@
              • 在流程控制语句(如:if),会自动转换为Boolean值

              • @H_301_37@
              • Undefined 类型:只有一个值undefined(开头字母小写),表示变量未初始化 var s;alert(s) //undefined

                • 主要用于逻辑判断

                • alert(typeof xx(未定义变量) ) //也会是undefined

                • @H_301_37@
                • Null类型:只有一个值null,表示空对象指针 alert(typeof null) //Object

                  • 如果定义的变量准备在将来用于保存对象,那么最好把他设置为null,这样就可以判断是否为null来判断是否保存了一个对象的引用 if (xx != null){ doSomething(xx); }

                    • undefined由null衍生出来,undefined == nulll

                    • @H_301_37@ @H_301_37@
                    • Object 类型:

                    • @H_301_37@

                       

                      1.3 数据类型转换

                      • toString(): var s=123; s.toString() // '123' 当以字符串形式输出某个对象时,就会自动调用对象内部的toStrong()方法 null和undefined没有toString()方法

                        • 'str' + xxx => 'str'

                        • var n=9; n.toString(2);//'1001' 整数变量.toString(进制),可以进行进制转换

                        • String(obj)将任何类型转换为字符串,包括null和undefined

                        • @H_301_37@
                        • Number(): var s='123'; alert(Number(s)) // 123 var s='haha33'; alert(s)// NaN

                          • 如果字符串是一个空串或全是空格的字符串,则转换为0

                          • null => 0 undefined => NaN true => 1

                          • @H_301_37@
                          • parseInt()/parseFloat():

                            • 从第一位有效数字开始,直到遇到无效数字,如果第一位不是有效数字,返回NaN

                            • Number()函数无论字符串是否包含有效整数都会返回NaN,利用parseInt()/parseFloat()可以提取字符串中的有效整数 parseInt('123aaa') //123

                            • parseInt('100',2) //4 当提供第二个参数时,代表字符串是几进制的,返回十进制

                            • @H_301_37@ @H_301_37@

                              1.4 语句

                                //【switch语句】
                              //可以使用任何数据类型
                              switch(s){
                                 case 'a':
                                 case 'b': //合并了两种情形
                                     alert("a or b");
                                     break;
                                 case 'c':
                                     alert(c);
                                     break;
                                 default:
                                     alert(other)
                              }



                              //【for-in语句】
                              //迭代出的是:数组、字符串是位置、对象是key
                              for(var x in 'hello'){
                                 console.log('hello'[x]);
                              }



                              //【label语句】
                              //在代码添加标签,可以由break 或 continue引用
                              xxx:
                              for(var i=0; i<10; i++){
                                 if(i==8){
                                     break xxx;
                                }
                              }


                              //【with语句】
                              //作用是将代码的作用域设置到一个特定的对象中
                              var location = {
                                 name = 'bin'
                              };
                              var name = 'out';
                              with(location){
                                 alert(name);//bin
                              }
                              alert(name);//out

                              1.5 操作符

                              • 布尔操作符:

                                • 逻辑非:

                                  • ! 表示,可以应用于 ECMAScript中的任何值,无论这个值是什么类型,这个操作符都会返回一个布尔值。逻辑非首先将它的操作符转换成一个布尔值,然后对其求反。

                                    • ! Object => false

                                    • ! "str" => false

                                    • ! "" => true

                                    • ! 0 => true

                                    • ! num => false (包括Infinity)

                                    • ! null => true

                                    • ! NaN => true

                                    • ! undefined => true

                                    • @H_301_37@
                                    • 如果连续使用两次 ! ,则会模拟 Boolean() 转换函数的行为,! 首先将操作数转换成布尔值再取反,然后!再取反一次,就相当于把操作数转换成了其对应的布尔值。

                                    • @H_301_37@
                                    • 逻辑与:

                                      • &&

                                      • 如果第一个操作数转换成布尔值是false,就返回第一个操作数

                                      • 如果第一个操作数转换成布尔值是true,就返回第二个操作数

                                      • false && alert(1) => false

                                      • true && alert(1) => alert(1)

                                      • @H_301_37@
                                      • 逻辑或:

                                        • ||

                                        • 与逻辑与相反

                                        • false || alert(1) => alert(1)

                                        • true || alert(1) => true

                                        •  

                                        • @H_301_37@ @H_301_37@ @H_301_37@

                                           

猜你在找的JavaScript相关文章