JavaScript学习笔记

一、数据类型

使用关键字typeof可以查看变量的数据类型:

 typeof 变量名
 typeof(变量名)

简单数据类型:(值类型,四种)

    1.字符串 String

        在内存中不会立刻消失,只能二次赋值,原有的字符在一定时间之后,会被

        垃圾回收器回收

    2.数字 Number

        无穷大:Infinity  无穷小:-Infinity

        NaN 非数值(Not a Number)
            undefined和任何数值计算为NaN;

            NaN与任何值都不相等,包括它本身

        isNaN();判断是否不是数值,如果不是,返回true,如果是,返回false
            isNaN(NaN);//true
            isNaN("xixi");//true

            isNaN(123);//false

    3.布尔 Boolean

        只有两个值:true/false(区分大小写,只能是小写字母)

    4.未定义 undefined

    5.空 null(不属于简单数据类型,但可以与undefined对比学习)

复杂数据类型:(引用类型)

    1.对象 Object

    2.函数 Function

    3.数组 Array

    ……

二、数据类型转换

    1.转换为String 

        方式一:使用“+”号连接符连接一个字符串

        方式二:使用toString()方法

        方式三:String(变量)

    2.转换为数字

        注:容易出现NaN    需要字符串一般为数值类型的

        方式一:字符串-0(减号)

        方式二:字符串/1   字符串*1

        方式三:Number("18")  把字符变成数字18,小数也可以转换

        方式四:parseInt()方法  取出首个非数字前的整数

        parseFloat()    可以取小数

    3.转换成布尔类型

        Boolean(变量)

三、与Java语言中类似的部分

    1.操作符:与Java中的类似,省略

    2.流程控制:

        if语句

        switch语句

    3.循环控制:

        for循环

        while循环

        do...while循环

4、函数

    第一种定义方式:   

function 函数名(参数列表){ 函数体 }

    第二种定义方式,匿名函数:一般用于事件绑定

var fn  = function(){ 函数体 }

    第三种定义方式:   

var fn = new Function(函数体);

    注:第二、三两种方式定义的函数必须在使用前定义

    函数调用 :  

函数名(参数列表);

    注:如果给的实参个数大于函数本身形参个数,会忽略多余的实参,函数照常执行

    JS中没有函数重载!!!

    函数的返回值:

        给函数加上return语句,如:return 0;  那么此函数的返回值就为0

        如果没有return或者只有return,没有写值,那么返回值都为undefined

        在控制台会打印整个函数      

  console.log(函数名);

        打印函数的返回值

console.log(函数名(参数列表));

        JS在加载的时候,只加载函数名,不加载函数体

    函数的递归调用:

        其实就是函数自己调用自己,但必须有跳出条件,不然是死循环!

    回调函数:(就是把函数当参数传递)

function fn(函数名){
    函数名();
}    
5、变量

    局部变量

        注:函数内部用 var定义的变量是局部变量

    全局变量

        注:如果在函数内部没有用var声明的变量,如 num = 3 ; 为全局变量

    隐式全局变量:

function fn(){
    var a = b = c = 1;        //b和c都为全局变量
    var a = 1; b = 2; c = 3;  //用分号间隔,实际上代表了三行代码,b、c为全局变量
    var a = 1, b = 2, c = 3;  //用逗号间隔,代表一行代码,a、b、c都为局部变量
}

6、预解析

    1.产看语法是否错误

    2.变量声明提升以及函数整体提升(有名函数)。意思就是把变量声明和函数放到代码的最前面

    注:只提升变量名,不包含其定义的值。函数是整体提升

    注:预解析在函数范围内同样适用

7、创建对象

    Java就是很好的面向对象语言

    JS是基于对象开发的语言,只能new Object对象

var student = new Object();        //创建空白对象
student.name = "笑笑";             //设置属性
student.age = 18;
student.sleep = function(){        //书写方法
    console.log("睡觉了。。。");        
}
console.log(student.name);        //使用属性
console.log(student.age);
student.sleep();                  //调用方法

    创建对象方式二:

var student = {
        name:"笑笑",
        age:10,
        sleep:function(){
        console.log("睡觉了。。。");
    }
};
console.log(student);
student.sleep();

    new后面调用函数,称为构造函数,如:new Object();  Object视为一个构造函数,其实就是一个函数,目的是为了创建新的对象,为新对象进行初始化                     

    对象的字面量是一对{ },属性与值是以键值对的形式存在的 如{username:"笑笑"}

8、JSON

    JavaScript Object Notation(JavaScript对象表现形式)

    JSON数据也是一对{ } 属性与值也成键值对的形式,但与对象字面量不同的是,JSON的键要用 "" 括起来, 如{"username":"笑笑"},也就是说,JSON的键必须是字符串,键值对要用逗号分割

    注:不能使用for循环遍历

    要使用for...in...遍历  例:

for(var k in json){
    console.log(k);      //打印键
    console.log(json[k]);//打印键对应的值
}

9、内置对象

    如 Date、Math等




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值