JS高级程序设计学习备忘录

一、Javascript简史

        1、js包含:ECMAScript,DOM操作,BOM操作

        2、DOM操作针对文档流,BOM操作针对浏览器

二、在HTML中使用JavaScript

        1、defer先下载,在dom加载完成后再调用defer的js,针对外部js,按照js引入顺序执行;

        2、async,异步调用,js文件和html的DOM同时被调用,针对外部js,不一定按照js引入顺序执行;

        3、<noscript>只在浏览器不支持script时会显示;

三、基本概念

        1、在函数内部var一个变量,这个变量的作用域在函数内部,在外部console时,打印会报错,如果直接令一个变量 a=1,此时不管是否在函数内部定义,该变量都是全局变量;区分var的变量提升,变量提升只是console与定义可以不分前后,但是局部变量永远是局部变量;

        2、基本的数据类型(es5):Null,Undefind,Boolen,String,Number;特殊的数据类型Object;

        3、通过typeof 来判断数据类型时,a、typeof Null 是一个Object,因为Null中存储的是一个空指针;b、虽然function也是一个Object但是,typeof对function进行了一个专门的判断;c、关于Undefind类型,未声明的变量都是Undefined类型,比如,直接alert(typeof message )返回“Undefined”,但是alert( message)就会报错;d、undefined值是派生自null值的,因此,null==undefind会返回true

        4、Boolean可以将任何其他类型转化为Boolean值,比如(Boolean(“”)==false;Boolean(0&&NaN)==false;Boolean(null&&undefined)==false;

        5、Number类型,a、十进制数第一位不能为0,八进制数第一位为0,16进制数为0X;b、在进行计算时,所有的八进制和十六进制都会被转化为十进制进行计算;c、+0和-0被认为相等

        6、浮点类型:a、小数点后有0的话,该小数直接被转化为整数,因为浮点类型需要开辟两个内存空间;b、浮点类型存在直接计算算不准的问题,如0.1+0.2!=0.3

        7、数值范围,最大:Number.MAX_VALUE,最小:Number.MIN_VALUE;判断:isFinite()

        8 、NaN,非数值,NaN与任何值都不相等,包括NaN本身,判断是否NaN:isNaN();isNaN函数在接受到一个值以后会自动解析这个值是否可以转化为数值,如果可以转化的话,如:isNaN(“123“)也会返回false),特别的isNaN()函数也适用于对象,会将接受到的对象先进行valueOf的处理,再进行tostring的处理;

        9、数值转化:Number,parseInt,parseFloat,中parseInt可以传入两个参数,一个为需要转化的值,第二个为进制数,
    

    eg:{

        Number("HELLO123")
        NaN
        parseInt("124Hello")
        124}

          parseInt("Hello124")
        124}

        10、string(value)是对value.toString的扩展,额外定义了null和undefined的没有toString方法的情况


[1,2,3].toString();    // '1,2,3' 结果与数组的join()方法相同
 
 
//Object
({}).toString();       // "[object Object]"
 
 
//Function
const func = function(){};
func.toString();       // "function(){}"

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值