JavaScript基本概念

一.语法

(1)区分大小写

(2)标识符:

1.第一个字符必须是字母,下划线或$,其他字符可以是字母,下划线,$或数字。

2.驼峰大小写格式:firstSecond

(3)注释:单行注释//  多行注释/* */

(4)严格模式:“use strict”

(5)语句:分号结尾; 在控制语句中(如if语句)使用代码块{}

二.关键字和保留字 表示控制语句的开始或结束,不能用于标识符

三.变量

(1)松散类型

(2)局部变量:var name=“hello world”,age=29;变量在函数退出后就会销毁

(3)全局变量:name=“hello world”;局部作用域中定义的全局变量很难维护,不推荐

四.数据类型

(1)typeof操作符:typeof 100;//"number“

(2)typeof返回值:

"undefined” “boolean” ”string” ”number“”object“(这个值是对象或null) "function”(这个值是函数)

(3)数据类型:

Undefined:使用var声明变量但未对其初始化,这个变量的值就是undefined

Null:表示空对象指针,定义的变量还没有真正保存对象,则让该变量保存null值

Boolean:

1.两个值true,false

2.所有类型的值都可以转换为其对应的boolean值

例:

    var message=2;

    if(2){                 //自动执行boolean转换为true

        alert("it is 2”);

    }

Number:

1.整数字面量格式:十进制var number=55;八进制var number=071;十六进制var number=0x1f;

2.浮点数值: var number=2.1;

                 ECMAScript将小数点后边带6个零以上的浮点数值转换为以e表示法表示的数值

                例:var floatNum=3.1e7; (31000000)

                浮点数值最高精度为17位小数,但在算数计算时精确度不如整数

3.数值范围:最小Number.MIN_VALUE 为5e-324   最大Number.MAX_VALUE 为

                isFinite()函数:参数位于最小与最大之间会返回true 

                例:alert(isFinite(2));//true

4.NaN:即非数值,是一个特殊的数值(任何数除以0会返回NaN)

           isNaN()函数:将不能转换为数值的值返回true 

           例:alert(isNaN(NaN));//true      Boolean值true可以转换为1

5.数值转换:Number()

              parseInt()

              parseFloat()

String:

1.toString()方法:

               数值,布尔值,对象,字符串都有toString()方法,null和undefined值没有

               例:

               var message=10;

               alert(message.toString());//10

               alert(message.toString(2));//1010 通过传递参数 toString(参数)输出二,八,十,十六进制,默认为十进制

2.转型函数 String():

               可将任何类型的值转换为字符串

               例:

               var message=10;

               alert(String(message));//"10”

Object()对象类型:

1.Object类型是所有它的实例的基础,Object类型所具有的类型和方法也同样存在于具体对象中

2.创建对象:var o=new Object();

五.操作符

(1)一元操作符: 1.前置递增和递减:在包含语句求值之前执行

                                               var num=1;

                                               var anotherNum=—num + 1;

                                               alert(num);//0

                                               alert(anotherNum);//1

                        2.后置递增和递减:在包含语句求值之后执行

                                                var num=1;

                                                var anotherNum=num—+ 1;

                                                alert(num);//0

                                                alert(anotherNum);//2

(2)一元加和一元减:+10   -10

(3)位操作符:     1.会求补码

                      2.按位非:~

                      3.按位与:& 转换为二进制,每一位对齐,都为1时为1

                      4.按位或:|  都为0时为0

                      5.按位异或:^ 相同为0

                      6.有没有同或???

                      7.左移:<< 

                      8.有符号右移:>> 以符号位的值填充空位

                      9.无符号右移:>>> 以零填充空位

(4)布尔操作符:    1.逻辑与:&&

                      2.逻辑或:|| 避免为变量赋null或undefined      var myObject=oneObject || twoObject;

                      3.逻辑非:! 

(5)乘性操作符:* / %

(6)加性操作符:+ —

(7)关系操作符:<   >   <=   >=

(8)相等操作符:相等== 不相等 !=(先转换再比较)

                         全等===不全等!===(不转换只比较)

(9)条件操作符:var max =(num1>num2)? num1:num2;  

(10)赋值操作符:var num=10;

                          num+=10;

(11)逗号操作符:

六.语句

if switch with break continue等 不详述

七.函数

(1)function functionName(参数1,参数2, …){

           声明

    }

(2)无须指定函数的返回值,位于return之后的任何代码都不会执行

        function functionName(num1,num2){

            return num1+num2;

            alert("hello world”);               //不会执行

       }

(3)参数:

1.ECMAScript中的参数在内部是用一个数组表示的,在函数体中可以通过arguments对象来访问参数数组,如arguments[0],arguments[1]对应第一二个参数,且arguments的值与对应命名参数的值保持一致

2.参数的命名不是必须的,length属性可以知道有多少个参数 arguments.length

(4)没有重载,但可以模仿重载:

        function myNum(num1,num2){

            if(arguments.length==1){

               alert(num1+10);

            }else if(arguments.length==2){

               alert(argumengs[0]+20);

            }

        }

原文地址:https://www.cnblogs.com/liuzhongyi1992/p/3438396.html