JS学习笔记(1)

一、数据类型简介
        
        ①JavaScript拥有动态类型,同时也意味着相同的变量可作用不同的变量类型;
                例:    var x=9;        //x为数字
                        var x="still";    //x为字符串
        
        ②JS把数据类型分为两类:
                简单数据类型(Number,String,Boolean,Undefined,Null)
                复杂数据类型(object)
        
二、简单数据类型

            简单数据类型        说明                                            默认值
            Number                数字型,包含整型值和浮点型值,如21、0.21          0
            Boolean                布尔值类型,如true、false,等价于1和0             false
            String                字符串类型,如“张三”                             “”
            Undefined            var a; 声明了变量却没赋值,此时a=Undefined         Undefined
            Null                var a=null;声明了变量a为控制                     null
        
        ①Number
                    1.八进制前加0,十六进制前加0x;
                    
                    2.三个特殊值:    Infinity  无穷大,大于任何数值
                                    -Infinity 无穷小,小于任何数值
                                    NaN , Not a number 代表一个非数值
                                    
                    3.isNaN()            判断一个变量是否为非数字
                    4.typeof             判断变量的类型
        
        ②string
                
                    1.字符串类型可以用双引号也可以用单引号
                    
                    2.js可以用单引号嵌套双翼好,或者用双引号嵌套单引号
                    
                        例:  var strMsg='我是"地道的"程序员';
                              var strMsg2="我是'地道的'程序员";
                    
                    3.转义字符
                        
                        转义符                                解释说明
                        \n                                    换行符
                        \\                                    斜杠\
                        \'                                    ' 单引号
                        \"                                    " 双引号
                        \t                                    缩进
                        \b                                    空格
                    
                    4.字符串长度和字符串拼接
                        
                        求字符串长度用length方法   例:  var str='123456'   alert(str.length);
                        字符串拼接用’+‘               例:  alert('沙漠'+'骆驼');
                        
                    5.简单的对话框
                        prompt      输入框
        
三、数据类型转换
                    ①转换为字符串
                            方式:toString()        例:var num=11;alert(num.toString());
                                  String()强制转换  例:var num=11;alert(String(num));
                                  加号拼接字符串    例:var num=11;alert(num+"我是字符串");
                    
                    ②转换为数字型
                            方式:parseInt(string)        将string类型转换成整数数值型
                                  parseFloat(string)    将string类型转换成浮点数数值型
                                  Number()强制转换        将string类型转换成数值型
                                  js隐式转换(- * 、)    利用算术运算隐式转换为数值型
                                  
                    ③转换为布尔型
                            方式:Boolean()函数
                                    ·代表空、否定的之会转换为false
                                    ·其余值都换转换为true

四、解释型语言和编译型语言
                    两者之间的区别:
                                  ①编译型语言是将所有的代码编译完成后再去执行
                                  ②解释型语言是每一句语句一编译称然后执行

五、标识符、关键字、保留字
                    
                    1.标识符:就是开发人员为变量、属性、函数、参数取的名字
                    规则:标识符不能是关键字
                    
                    2.关键字:是指JS本身已经使用了的字,不能再用它们充当变量名、方法名
                    
                    3.保留字:目前还不是关键字,但以后可能会成为关键字

六、表达式、算术运算符
                    
                    1.表达式:由数字、运算符、变量等组成的式子
                    原则:计算表达式右边的值,把值赋给左边
                    
                    2.算术运算符
                    符号            作用            用法
                    =                赋值            把右边的值给左边
                    ==                判断            判断两边的值是否相等
                    ===                全等            判断两边的值和数据类型是否完全相等
                    
                    3.逻辑运算符
                    符号            作用
                    &&                与
                    ||                或
                    !                非
                    
                    4.短路运算
                    &&与运算中如果第一个表达式值为0则直接输出第一个表达式的值
                              如果第一个表达式值为1则输出第二个表达式的值
                    ||或运算中如果第一个表达式的值为1,则直接输出第一个表达式的值
                              如果第一个表达式的值为0,则输出第二个表达式的值
                    
                    5.赋值运算符
                    =
                    +=     -=
                    *+     /=     %=
                    
                    6.算术运算符优先级
                            1                小括号
                            2                一元运算符            ++  --  !
                            3                算术运算符            先*  %  /再+  -
                            4                关系运算符            >   <    <= >=
                            5                相等运算符            ==   ===   !=    !==
                            6                逻辑运算符            先&&  再||
                            7                赋值运算符            =
                            8                逗号运算符            ,
                            
七、流程控制分支结构
                    
                    1.流程控制主要有三种结构分别是顺序结构、分支结构、循环结构
                    
                    2.分支结构
                        ·if语句
                        ·switch语句
                        三元表达式:            条件 ? 结果1 : 结果2;
                    
                    3.循环结构
                        for循环
                        while循环
                        do while循环

八、数组            
                    1.数组的创建
                        ①利用new新建数组
                            var 数组名 = new Array();
                            var arr = new Array();  //创建一个新的空数组
                            注意Array()中A要大写
                        ②利用数组字面量创建数组
                            var 数组名 = [];        //创建空的数组
                            var 数组名 = ['a','b','c','d'];   //创建带初始值的数组
                        
                        ③数组的长度是数组元素的个数。
                        
                        ④新增数组元素
                            方法一:修改素组的长度length
                            方法二:修改数组的索引
                            
                        ⑤冒泡排序
                            外层循环是趟数   length-1
                            内层循环是交换次数    length-i-1
                            
九、函数
                    1.函数的声明和调用
                函数关键字声明    ①声明:function 函数名(){
                                    函数体
                                }
                                调用:函数名()
                函数表达式        ②声明:var fun = function(){
                                    函数体
                                }
                                调用:函数名()
                    2.函数的封装:把一个或多个功能通过函数的方式封装起来
                    
                    3.函数实参和形参个数匹配
                    参数个数                            说明
                    实参个数等于形参个数                输出正确的结果
                    实参个数多于形参个数                只取到形参的个数
                    实参个数小于形参个数                多的形参定义为undefined
                    
                    4.函数返回值return注意项
                            ①return 终止函数
                            ②return 只能返回一个值
                            ③return 可以用数组返回多个值
                            ④没有return    返回的是undefined类型
                    
                    5.arguments的使用
                            arguments存储了传递过来的所有实参
                                特性   是一种伪数组
                                        1.具有length属性
                                        2.按索引的方式存储
                                        3.没有真正数组的一些方法pop() push

十、JavaScript作用域
                    1.JavaScript作用域:就是代码名字(变量)在某个范围内起作用和效果,目的是提高程序的可靠性和减少命名冲突
                    
                        ①js作用域分为:全局作用域   局部作用域
                        ②全局作用域:整个script标签或者是整个单独的js文件
                        ③局部作用域(函数作用域):在函数内部。
                    
                    2.变量作用域 
                        
                        ①全局变量:在全局作用域下的变量        在函数内部没有声明直接赋值的变量
                        ②局部变量:在局部作用域下的变量        函数的形参也可以看做局部变量
                        
                    3.从变量的执行效率来看全局变量和局部变量
                        ①全局变量只有浏览器关闭的时候才会销毁,比较占内存
                        ②局部变量当我们的程序执行完毕后就会销毁,比较节约内存
                        
                    4.作用域链:内部函数访问外部函数的变量,采取的是链式查找的方式来决定取那个值
                    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值