美文网首页
JavaScript

JavaScript

作者: 我不傻_cyy | 来源:发表于2019-10-22 22:14 被阅读0次

    1.JavaScript script标签
    script标签可以放在html中的任何地方,一般建议放在head标签中。
    如果有多段script代码,会按照从上到下的顺序执行。
    使用外部js文件,引入使用<script src="filePath"></script>
    2.JavaScript注释
    单行注释://
    多行注释:/* */
    3.JavaScript变量
    使用var声明一个变量,也可以不实用var声明变量。
    变量命名规则:
    可以使用数字、字母、下划线、特殊字符($),但是能够以下划线、字母和特殊字符($)作为开头,不能以数字作为开头。
    4.JavaScript调试方法
    alert进行调试。
    浏览器自带的调试工具,按F12在console中查看错误信息。
    console.log()进行调试,
    5.JavaScript基本数据类型
    基本数据类型undefined、Boolean、Number、String、null
    undefined:当一个变量被声明了,但没有赋值时,就是undefined。
    Boolean:有两种值,true和false。
    Number:数字,可以表示十进制,八进制,十六进制,浮点数,科学计数法。
    字符串:javascript中没有字符的概念,只有字符串,单引号和双引号都可以用来表示字符串。
    动态类型:当值是整数的时候,就是Number类型,当值是字符串的时候,就是String类型。
    判断变量类型:使用typeof进行数据类型的判断。
    null表示一个对象不存在,是和对象相关的。
    6.JavaScript类型转换
    伪对象:javaScript中基本数据类型也是伪对象,它们都有属性和方法,例如变量a是字符串,可以通过调用伪对象的属性length来获取长度。
    转换为字符串:
    无论是Number、Boolean还是string都有toString()方法,用于转换为字符串。
    数字转换为字符串的时候可以有默认模式和基模式两种。
    例如:

    <script>
      var a=10;
      document.write('默认模式下,数字10转换为十进制的'+a.toString()); //默认模式,即十进制
      document.write("<br>");
     
      document.write('基模式下,数字10转换为二进制的'+a.toString(2)); //基模式,二进制
      document.write("<br>");
       
      document.write('基模式下,数字10转换为八进制的'+a.toString(8)); //基模式,八进制
      document.write("<br>");
     
      document.write('基模式下,数字10转换为十六进制的'+a.toString(16)); //基模式,十六进制
      document.write("<br>");
     
    </script>
    

    输出为:

    默认模式下,数字10转换为十进制的10
    基模式下,数字10转换为二进制的1010
    基模式下,数字10转换为八进制的12
    基模式下,数字10转换为十六进制的a
    

    转换为数字:
    javascript分别提供了内置函数parseInt()和parseFloat(),来转换为数字。
    需要注意的是如果被转换的字符串,同时由数字和字符构成,那么parseInt会一直定位数字,直到出现非字符。例如“10abc”会被转换为10。
    例如:

    <script>
        var a = "10abc8";
        document.write('字符10abc8转换为int:'+parseInt(a)); 
        document.write("<br>");
        document.write("字符串3.14转换为数字:" + parseInt('3.14'));
        document.write("<br>");
        document.write("字符串hello javascript转换为数字:" + parseInt('hello javascrip'));
    </script>
    

    结果为:

    字符10abc8转换为int:10
    字符串3.14转换为数字:3
    字符串hello javascript转换为数字:NaN
    

    转换为 boolean类型
    使用内置函数Boolean()转换为Boolean值
    当转换字符串时:非空即为true,
    当转换数字时:非0即为true,
    当转换对象时:非null即为true,
    例如:

    <script>
        document.write("字符''转换为boolean:"+Boolean('')); 
        document.write("<br>");
        document.write("字符串'3.14'转换为boolean:" + Boolean('3.14'));
        document.write("<br>");
        document.write("数字0转换为boolean:" + Boolean(0));
        document.write("<br>");
        document.write("数字1转换为boolean:" + Boolean(1));
        document.write("<br>");
        document.write("对象new Object()转换为boolean:" + Boolean(new Object()));
        document.write("<br>");
        document.write("对象null转换为boolean:" + Boolean(null));
        document.write("<br>");
        document.write("undefined转换为boolean:" + Boolean(undefined));
    </script>
    

    结果为:

    字符''转换为boolean:false
    字符串'3.14'转换为boolean:true
    数字0转换为boolean:false
    数字1转换为boolean:true
    对象new Object()转换为boolean:true
    对象null转换为boolean:false
    undefined转换为boolean:false
    

    Number()和parseInt()的区别:
    Number()和parseInt()都可以用来进行数字转换,区别是,当转换的内容包含非数字的时候,Number()会返回NaN(not a number),parseInt()需要视情况而定,如果是以数字开头,就会返回开头的合法数字部分,如果以非数字开头,则返回NaN。
    例如:

    <script>
        document.write("通过Number将字符123转换为数字:"+Number('123')); 
        document.write("<br>");
        document.write("通过Number将字符123abc转换为数字:" + Number('123abc'));
        document.write("<br>");
        document.write("通过parsetInt将字符123abc转换为数字:" + parseInt('123abc'));
        document.write("<br>");
        document.write("通过parsetInt将字符abc123转换为数字:" + parseInt('abc123'));
        document.write("<br>");
    
    </script>
    

    结果为:

    通过Number将字符123转换为数字:123
    通过Number将字符123abc转换为数字:NaN
    通过parsetInt将字符123abc转换为数字:123
    通过parsetInt将字符abc123转换为数字:NaN
    

    String()和toString()的区别:
    String()和toString()一样都会返回字符串,区别在于对null的处理,String()会返回字符串“null”,toString()就会报错,无法执行。
    例如:

    <script>
        document.write("将null对象通过String()转换成字符串"+String(null)); 
        document.write("<br>");
        document.write("将null对象通过toString()转换成字符串" + null.toString());
    </script>
    

    输出:

    将null对象通过String()转换成字符串null
    

    7.JavaScript函数
    function关键字用于定义一个函数
    例如:

    function print(){
        函数体;
    }
    其中function关键字用于定义一个函数,print函数名,()表示参数列表,当前例子没有参数。{}表示函数体。
    

    带参数的函数:

    function print(message){
        函数体;
    }
    

    带返回值的函数:

    function calc(x,y){
         return x+y;
    }
    

    8.JavaScript作用域
    参数作用域:
    一个参数的作用域就在函数内部,超过函数就看不到该参数了。
    全局变量的作用域:
    全局变量的作用域是所有的函数都可以访问。
    9.JavaScript事件
    事件有很多种,例如鼠标点击,键盘输入等。
    10.JavaScript算数运算符
    基本运算:
    +、-、、/、%
    自增、自减运算符
    ++、--
    赋值运算符
    =、+=、-=、
    =、/=、%=
    +运算符的多态:
    当运算符两边都是数字的时候,表示算数运算,当任意一边是字符串的时候,表示字符串连接符。
    11.JavaScript逻辑运算符
    基本逻辑运算符
    ==、!=、>、>=、<、<=
    绝对等于和绝对不等于
    ===、!==
    三目运算符
    ? :
    12.JavaScript条件语句
    if 、else、else if、switch
    13.JavaScript循环语句
    for(循环语句)、while(循环语句)、do-while(循环语句,至少会执行一次)、forEach(增强型循环语句)、continue(退出本次循环,进入下一次需循环)、break(终止循环)
    14.JavaScript错误处理
    try catch,捕捉到错误之后,catch中进行处理,后续的代码还可以继续执行。
    15.JavaScript对象
    常见的对象有数字Number、字符串String、日期Date、数组Array等。
    数字对象Number,和基本数据类型中的Number不同,数字对像有很多的属性和方法。
    创建一个数字对象
    new Number()
    最大值和最小值
    Number.MAX_VALUE、Number.MIN_VALUE
    表示不是数字
    NaN(Not a Number),表示不是一个数字,当通过非数字创建Number的时候,就会得到NaN。
    注意:不能通过是否等于Number.NaN来判断是否不是数字,而是应该使用函数isNaN()
    例如:

    <script>
        var a = new Number("aba123");
        document.write(a==Number.NaN);
        document.write("</br>");
        document.write(isNaN(a));
    </script>
    输出为:
    false
    true
    

    返回数字的小数表达
    toFix(n):设置数字保留n为小数。
    例如:

     var a = new Number("23");
     document.write(a.toFixed(2));
     输出23.00
    

    返回一个数字对象的基本数据类型
    方法valueOf()返回一个基本类型的数字
    例如:

        var a = new Number("23");
        var b = a.valueOf();
        document.write("a的数据类型为:" + typeof a);
        document.write("</br>");
        document.write("b的数据类型为:" + typeof b);
    输出为:
    a的数据类型为:object
    b的数据类型为:number
    

    字符串对象:基本数据类型的String也有一个String对象,并且提供了很多方法
    创建字符串对象
    new String()
    字符串长度
    可以通过属性length返回字符串的长度
    返回指定位置的字符
    chartAt():返回指定位置的字符
    chartCodeAt():返回指定位置的字符对应的unicode码
    字符串拼接
    contact()用于进行字符串拼接
    子字符串出现的位置
    indexOf()返回子字符串第一次出现的位置
    lastIndexOf()返回子字符串最后一次出现的位置
    比较两段字符串是否相同
    localeCompare():比较两段字符串是否相同,0表示相同,非0表示不相同。
    截取一段子字符串
    subString(start,end):其中第二个参数取不到。
    根据分分隔符,把字符串转换为数组,第二个参数可选,表示返回数组的长度。
    split(arg1,arg2)
    替换子字符串
    replace(search,replacement),查找满足条件的子串,并替换为replacement
    原则上只会替换查找到的第一个子字符串,如果要替换所有的,需要写成,
    例如:

        var x = new String("hello world");
        var y = x.replace("o","a");
        document.write("只替换第一个o:" + y);
        document.write("</br>");
        var z = x.replace(/o/g,"a");      //全局替换
        document.write("替换所有的o:" + z);
        document.write("</br>");
        var regx = new RegExp("o","g");   //全局替换
        var m = x.replace(regx,"a");
        document.write("替换所有的o:" + m);
    
    输出为:
    只替换第一个o:hella world
    替换所有的o:hella warld
    替换所有的o:hella warld
    

    返回基本类型:需要注意的是所有返回字符串类型的方法,返回的都是基本类型的String。例如chartAt()、contact()、substring()。

    JavaScript中的数组:数组的长度是可以发生变化的。
    创建数组对象:
    new Array():创建长度为0的数组
    new Array(5):创建长度为5的数组,但是其中的每个元素都是undefined
    new Array(3,1,2,4):根据参数创建数组。
    数组长度:
    通过属性length来获取一个数组的长度
    遍历数组:
    可以使用通过for循环使用下标遍历
    也可以使用增强的for in循环遍历
    在增强的for循环中i表示下标的意思
    for(i in x){
    print(x[i]);
    }
    连接数组:concat()连接联合数组
    通过分隔符,返回一个数组的字符串表达
    join(分隔符)
    使用方法push、pop分别在最后的位置插入数据和获取数据(获取后删除)
    使用方法unshift、shift分别在最开始的位置插入数据和获取数据(获取后删除)
    对数组的内容进行排序:sort()
    自定义排序算法:
    sort()采用默认的正序,即小的数值排在前面,如果采用自定义的顺序排序,就需要将比较器函数作为参数传递给sort()
    例如:

    function comparator(v1,v2){
        return v2-v1;    //表示大的放在前面,
    }
    x.sort(comparator)
    

    对数组的内容进行反转
    reverse()
    获取子数组
    方法slice()获取子数组,第二个参数取不到。
    删除和插入元素
    splice()用于删除数组中的元素,还能向数组中插入元素

    数组3,1,4,5,9,2,6
    x.splice(3,2)删除从位置3开始,删除2个元素:3,1,4,9,2,6
    x.splice(3,0,1,5)删除从位置3开始,删除0个元素,但是插入1和5:3,1,4,1,5,9,2,6
    

    JavaScript日期对象:
    Date
    创建日期对象new Date()
    分别获取年/月/日
    需要注意的是getMonth()返回月数,是从0开始的,0表示1月份。
    获取时:分:秒:毫秒
    getHours(),getMinutes(),getSeconds(),getMillseconds()
    一周的第几天
    getDay()获取本周的第几天,需要注意的是是从0开始的。
    经历的毫秒数
    获取从1970/1/1 08:00:00至今的毫秒数
    new Date().getTime();
    修改日期和时间
    把日期对象设置为2012/12/12 00:00:00

        var d = new Date();
        d.setFullYear(2012);
        d.setMonth(11);
        d.setDate(12);
        d.setHours(0);
        d.setMinutes(0);
        d.setSeconds(0);
    

    JavaScript中常见的工具对象,用于常见的数学运算
    自然对数和圆周率:E 、PI
    绝对值:abs
    最大值最小值:min、max
    求幂:pow
    四舍五入:round
    随机数(取0-1之间的随机数):random
    自定义对象
    通过new Object()创建一个对象
    通过function设计一个对象
    例如:

    function Hero(name){
            this.name = name;
            this.kill = function(){
                document.write(this.name);
            }
        }
        var green = new Hero("glace");
        green.kill();
    
        //给已经存在的对象添加一个方法
        Hero.prototype.keng = function(){
            document.write(this.name);
        }
    
    

    16.BOM(Browser Object Model)浏览器对象模型
    浏览器对象包括:
    Window(窗口)、Navigator(浏览器)、Screen(屏幕)、History(访问历史)、Location(浏览器地址)。
    window:
    获取文档显示区域的高度和宽度
    window.innerWidth,window.innerHeight
    获取外部窗体的宽度和高度
    window.outerWidth,window.outerHeight
    打开一个新的窗口:window.open()
    Navigator:浏览器对象,提供浏览器相关的信息
    获取浏览器的相关信息:
    navigator.appName(浏览器产品名称)
    navigator.appversion(浏览器版本号)等。
    Screen对象用于表示用户的屏幕相关的信息。
    screen.height(获取屏幕高度)
    screen.width(获取屏幕宽度)
    screen.availWidth(获取屏幕可用宽度)
    screen.availHeight(获取屏幕可用高度)
    History用于记录访问历史:
    history.back()(返回上一次的访问)等同于history.go(-1)、history.go(-2)(返回上上次的访问),以此类推。
    Location表示浏览器中的地址栏:
    刷新当前页面:location.reload();
    跳转到另一个页面:location.assign();
    浏览器弹出框:
    常见的弹出框有:
    alert(警告框)、confirm(确认框)、prompt(输入框)。
    计时器:
    setTimeout(function,距离开始时间毫秒数):只执行一次。
    setInterval(函数名,重复执行的时间间隔毫秒数):重复执行同一个函数。
    通过clearInterval终止一个不断重复的任务,清除定时器。

    相关文章

      网友评论

          本文标题:JavaScript

          本文链接:https://www.haomeiwen.com/subject/dgbwmctx.html