JS

JavaScript入门(一)

一、什么叫JS

  1JS的概念
    JS,是JavaScript的缩写形式,而JavaScript是一种基于对象和事件驱动并且具有相对安全性的客户端脚本语言。它在Web开发中JS占据着举足轻重的地位,所有交互、逻辑层的代码都应该由它来实现。

  2JS所扮演的角色
    如果把网站建设比喻成盖楼房,那么HTML就是这个楼房的钢筋水泥,CSS就是楼房的布局装饰,而JS就是楼房中大大小小无处不在的开关了。从这样的角度而言,JS就是Web开发中负责逻辑层的语言,而现如今相当火热的用户体验的概念,最重要的代码部分还是需要JS来编写。

  3、使用/引用JS的三种方式

   HTML标签中,直接内嵌JS(并不提倡使用):
    eg:<button οnclick="alert('你还真点呀!!')">点我呀!!!</button>
  >>>不符合w3c关于内容与行为分离的要求!!!

  代码如下:

https://i-blog.csdnimg.cn/blog_migrate/68a2c17f47d43e8c96aa5b063c10fa46.png

  运行结果如下:

https://i-blog.csdnimg.cn/blog_migrate/19486e60d62f4ab8bd00d16bdca42fda.png      https://i-blog.csdnimg.cn/blog_migrate/48c5929b4130c257971a1221e312320c.png

  

   HTML页面中使用<script></script>包裹JS代码;’
    eg:
      <script type="text/javascript">
            //JS代码
      </script>
  >>>script标签可以放到页面的任何位置。 

   引入外部的js文件:
    eg:<script language="JavaScript" src="js/01-课堂笔记.js"></script>

  [注意事项]

  <script></script>可以嵌入到页面的任意位置,但是,位置的不同会导致js代码的执行顺序不同。
    比如:<script></script>放到<body>前面,则js代码会在页面加载之前就执行;
  引入外部的js代码,<script></script>必须是成对出现的标签,而且标签中不能再有任何的js代码。

 

二、JS中的变量  

  1js中变量声明的写法

    var num = 10; //使用var声明的变量,属于局部变量,只在当前作用域有效;
    num = 10; //不用var声明的变量,默认为全局变量,在整个js文件中都有效;
    var x=8,y,z=10; //使用一行语句,同时声明多个变量。上式中,y属于已声明,但是是未赋值状态,结果为undefined(定义了,没有赋值的);
    [声明变量的注意事项]
      js中所有变量的声明均使用var关键字。变量具体是什么数据类型,取决于给变量赋值的类型;
      js中同一个变量,可以在多次不同赋值时,修改变量的数据类型;
        var a = 10; //从初始声明时,a属于整数型;
        a = "hahaah" //重复赋值时,整数型的a被修改成字符串类型;
      变量可以使用var声明,也可以不使用var声明。
        [区别] 使用var声明为局部变量,不使用var声明为全局变量;
      只用var声明,但是不赋值。结果为undefined;但是,如果不声明也不赋值的a,直接使用会报错;
        例如:var a; //aundefined
      同一变量名,可以多次使用var声明。但是,后面的var并没有什么卵用。第二次在使用var声明时,只会被理解成普通的赋值操作。

  2js中变量名的命名要求

      变量名只能有字母、数字、下划线组成;
      开头不能是数字;
      变量名区分大小写,大写字母与小写字母为不同变量;

  3js中变量名的命名规范

       要符合小驼峰法则(骆驼命名法):第一个单词的首字母小写,之后每个单词的首字母大写;
        eg:myNameIsZhangSan   √
       或者使用匈牙利命名法:所有字母小写,单词之间用_分隔;
        eg:my_name_is_zhang_san  √
       mynameiszhangsan    ×  能用,但是不规范。

  4js中的数据类型(重点)
      Undefined 未定义。 已经使用var声明的变量,但是没有赋值。 var a;
      Null 表示空的引用。
      Boolean 布尔类型。 表示真、假,只有两个值:true/flase;
      Number 数值类型。 可以是整数,也可以是小数;
      String 字符串类型。用""''包裹的内容,称为字符串;
      Object 对象类型;

  5[常用的数值函数](重点)
      isNaN():判断一个变量或常量是否是NaNnot a num 非数值);使用isNaN()判断时,会尝试使用Number()函数进行转换,如果最终结果能够转换为数字,则不是NaN,结果是false;
      Number()函数,将其他类型的数据,尝试转换为数值型;
     [字符串类型]
      >>>字符串为纯数值字符串,会转为对应的数字;"111"->111
      >>>字符串为空字符串,会转为0; ""->0
      >>>字符串包含任何其他字符时,都不能转; "1a" ->NaN
     [Boolean类型]
      >>>true—>1 flase->0;\
     [Null/Undefined]
      Null ->0  Undefined ->NaN

      ParseInt():将字符串转为整数类型;
      >>>纯数值字符串,能转。
         "12"->12 "12.9"->12(小数转化时,直接抹掉小数点,不进行四舍五入)
      >>>空字符串,不能转。 ""->NaN
      >>>包含其他字符的字符串,会截取第一个非数值字符串前的数字部分;
 
        "123a456"->123; "a123b456"->NaN
      >>>ParseInt()只能转字符串,转其他类型,全是NaN

      [Number函数与ParseInt函数的区别]
        1Number函数可以转各种数据类型,ParseInt函数只能转字符串。
        2、两者在转字符串时,结果不完全相同。(详见上面解释)
      ParseFloat:将字符串转为数值型;转换规则与ParseInt相同,只是如果有小数,则保留小数点;如果没有小数,则依然是整数;
        eg"12.5"->"12.5" "12"->12
      typeof():检测变量的数据类型:
        字符串->String 数值->Number 未定义->Undefined
        true/false->Boolean 函数/null->function 对象/null->object

三、JS中常用的输入输出语句

    1document.write()

      将()中的内容,打印输出到浏览器屏幕上;使用时需注意:除变量/常量外的所有内容,必须放到""中。变量和常量必须放到""外面;如果同时有变量和字符串,必须用+链接;
      eg:document.write"左手中的纸牌"+left+"</br>";
    2alert(); 使用弹窗输出
      弹窗警告,()中的内容与上述要求相同。

    3prompt();弹窗输入
        接收两部分参数;
      输入框上面的提示内容,可选;
      输入框里面的默认信息,可选;
      当只写一部分时,表示输入框上面的提示内容;可以定义变量,接收输入内容。点击确定按钮,变量将被赋值为输入的内容;点击取消按钮,变量将被赋值为null;输入内容时,默认接收的数据类型都是字符串!!!!!!!
  代码1:  

    https://i-blog.csdnimg.cn/blog_migrate/f43d19c67f5c613f67040c7cfed50886.png

  运行结果:

    https://i-blog.csdnimg.cn/blog_migrate/3cc53a813c448986aeecca4436ceab3c.pnghttps://i-blog.csdnimg.cn/blog_migrate/7ca08cde472fa15b1c9a146fe3d788cf.png

     代码2

    https://i-blog.csdnimg.cn/blog_migrate/26f0026d6b3d34f5d2cef7df195a88ac.png

    运行结果:

 https://i-blog.csdnimg.cn/blog_migrate/d68e47d2c493cd16c27643c468151c2c.png  https://i-blog.csdnimg.cn/blog_migrate/9053057f1642e94413751597618950ac.png  https://i-blog.csdnimg.cn/blog_migrate/100bc50f50e935bbc1ef7e8ea24f8710.png

 

 

JavaScript入门(二)

一、JS中的运算符

  1、算术运算(单目运算符)
    + 加、-减、*乘、 /除、 %取余、++自增运算符 --自减运算符;
    >>>+:有两种作用,链接字符串/加法运算符。当+两边全为数字时,进行加法运算;当+两边有任意一边为字符串时,起链接字符串的作用,链接之后的结果为字+符串。除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字;
    >>>/:结果会保留小数点。
    >>>++:自增运算符,将变量在原有基础上+1
      --:自减运算符,将变量在原有基础上-1

    [a++++a的异同点]
     相同点:无论a++还是++a,运算完以后,a的值均会+1
     不通电:a++,先用a的值去运算,再把a+1
          ++a,先把a+1,再用a+1以后的值去运算;
      eg

        https://i-blog.csdnimg.cn/blog_migrate/84e439436fc0f7ae5502dc8ffbd12722.png

        所以,a=5b=5c=7

  2、赋值运算
    = 赋值号(把右边的值赋给左边); += -= *= /= %=
    +=a+=b 相当于a=a+b;但是,前者的运算效率要比后者快,所以推荐使用+=的写法;

      eg

        https://i-blog.csdnimg.cn/blog_migrate/7fa0b86e7f9b0cab6a88b9e2734f6cd4.png

   3、关系运算
    ==(等于)、 ===(严格等于)、 =(不等于)、!==(不全等/不严格等于)><>=<=
    >>> 关系运算符,运算之后的结果,只能是boolean类型(truefalse);
    >>> 判断一个数字是否处于某个区间,必须用&&链接
      eg

        var a=3;

        alerta<10 && a>2; √
        10>a>0 ×      

    >>> ===(严格等于:不但数值相同,类型也必须相同;类型不同,结果直接为false;类型相同,再进行下一步判断;)
      ==(等于。类型相同,与===效果一样。类型不同时,会先尝试用number函数将两边转为数字,然后再进行判断。但是有个别特例,如null==false × null==undefined √)



  4、条件运算符(多目运算符)
    a>b?true:false 
    有两个重要符号:?和:
      当?前面部分运算结果为true时,执行:前面的代码;
      当?前面部分运算结果为false时,执行:后面的代码;

      冒号两边可以为数值,则整个式子可用于赋值。 var a = 1<2?1:2;
      冒号两边可以为代码块,将直接执行代码。 1<2?alert1:alert2;
      多目运算符可以多层嵌套。 var a = 1<2?alert(1):(1>0?4:5);

  5、位运算符、 逻辑运算符
    &&(与,and)、||()、!(非)
    && 两边都成立,结果为true
    || 两边有任意一边成立,结果为true
    &&||同时存在,先算&&&&的优先级高)

  6、运算符的优先级
    https://i-blog.csdnimg.cn/blog_migrate/77653c2f793d75b797c498f67dc2b09a.png

  7、实例

   判断水仙花数

    https://i-blog.csdnimg.cn/blog_migrate/0de2536772701f779f0822eea76099c9.png

      运行结果:

     https://i-blog.csdnimg.cn/blog_migrate/bd77f276dc23504095a68a50ac5d9003.pnghttps://i-blog.csdnimg.cn/blog_migrate/6fdf5e4d32a39284fd9b2bd2cd15483b.png

    四则运算器

     https://i-blog.csdnimg.cn/blog_migrate/123ce888d8a038c0bf6e7aad989a3aa4.png

 

二、JS中的分支结构

  [if-else结构]

    1、结构的写法:
        if(判断条件){
            //条件为true时,执行if{}
        }else{
            //条件为false时,执行else{}
        }
    2、注意事项:
      else{}语句块可以根据情况进行省略。
      ifelse后面的{}可以省略,但是省略{}后,ifelse后面只能跟一条语句;(所以,并不建议省略{}
    3if的()中的判断条件,支持的情况:
      Booleantrue为真,false为假;
      String:空字符串为假,所有非空字符串为真;
      Number0为假,一切非0数字为假;
      Null/Undefined/NaN 全为假;
      object 全为真;

  [多重if、阶梯if结构]
    1、结构写法:
        if(条件一){
            //条件一成立,执行的操作
        }else if(条件二){
            //条件一不成立&&条件二成立,执行的操作
        }else{
            //上述所有条件都不成立时,执行的操作
        }
    2、多重if结构中,各个判断条件是互斥的,执行选择其中一条路执行。遇到正确选项并执行完以后,直接跳出结构,不再判断后续分支;

  [嵌套if结构]
    1、结构写法:

       https://i-blog.csdnimg.cn/blog_migrate/dec22790f56187c4318c8a6dd6067447.png

    2、在嵌套if结构中,如果省略{},则else结构永远属于离它最近的一个if结构。
    3、嵌套结构可以多层嵌套,但是一般不推荐超过3层。能用多重if结构的一般不推荐使用嵌套if

分类JS

 

 

 

 

JavaScript入门(三)

循环结构的执行步骤

1、声明循环变量;
2、判断循环条件;
3、执行循环体操作;
4、更新循环变量;
然后循环执行2~4,直到条件不成立时,跳出循环。

[While循环]

while循环()中的表达式,运算结果可以是各种类型。但是最终都会转为真假,转换规则同if结构;
Booleantrue为真,false为假;
String:空字符串为假,所有非空字符串为真;
Number0为假,一切非0数字为真;
Null/Undefined/NaN 全为假;
object 全为真;

https://i-blog.csdnimg.cn/blog_migrate/a2b9347e5ed44f317158274a257e5d46.png

运行结果:

https://i-blog.csdnimg.cn/blog_migrate/ef6227013923de32f19e8163731d7430.pnghttps://i-blog.csdnimg.cn/blog_migrate/29163712c8172b1da2922784360c6661.png

 

[do-while循环]

while循环特点:先判断,再执行;

do-while循环特点:先执行,再判断;即使初始条件不成立,do-while循环也至少执行一次;

https://i-blog.csdnimg.cn/blog_migrate/33eb4d80477b5a1fb7a666d39585ca50.png

运行结果:

 https://i-blog.csdnimg.cn/blog_migrate/678797904bb0e97a669db60427539542.pnghttps://i-blog.csdnimg.cn/blog_migrate/b8041734fd91163c66d77830d6f76b09.png

[for循环]

1for循环有3个表达式:声明循环变量;判断循环条件;更新循环变量;

三个表达式之间,用;分隔;

for循环三个表达式都可以省略,但是两个;缺一不可;

2for循环的执行特点:先判断,再执行;while相同;

3for循环三个表达式都可以由多部分组成,第二部分多个判断条件与&&||链接,第一三部分用逗号分隔;

https://i-blog.csdnimg.cn/blog_migrate/ce3b9c93cfcd9153a493bda3d2b7921c.png

运行结果:

https://i-blog.csdnimg.cn/blog_migrate/c76de4f1768bdd828cdb4e51fb5f0dea.png

[循环控制语句]

1break:跳出本层循环,继续执行循环后面的语句。如果循环有多层嵌套,则break只能跳出一层。

2continue:跳过本次循环剩余的代码,继续执行下一次循环。

  对于for循环,continue之后执行的语句,是循环变量更新语句i++

  对于whiledo-while循环,continue之后执行的语句,是循环条件判断;

  因此,使用这两个循环时,必须将continue放到i++之后使用。否则,continue将跳过i++导致死循环。

https://i-blog.csdnimg.cn/blog_migrate/5c28d6e240f784fb833abfea579b337d.png

运行结果:

https://i-blog.csdnimg.cn/blog_migrate/f78825d4faef89c1c4e8ee72e917d9c2.png

[循环嵌套的规律]

外层循环控制行数。内层循环控制每行中的元素的个数。

[图形题做题思路]

1、确定图形一共几行,行数即为外层循环的次数;

2、确定每行中有几种元素组成。有几种元素即表示有几个内层循环;

3、确定每种元素的个数,这个个数即为每个内层循环的次数;

  tips:如果每种元素的个数不固定。则,找出每种元素个数,与行号的关系,这个关系表达式,即为内层循环的最大值。(循环变量从0开始)

长方形问题:

https://i-blog.csdnimg.cn/blog_migrate/f162a2fd79c475efaed113bb7b7f0fef.png

直角三角形问题

 https://i-blog.csdnimg.cn/blog_migrate/4a1a06e354ddf5489d3916f0242d4984.png

平行四边形问题

https://i-blog.csdnimg.cn/blog_migrate/09aae6bac88f079d23d85bbc0042ee63.png

数字三角形问题:

https://i-blog.csdnimg.cn/blog_migrate/6b5360a5fdf10be8adc4fbf608c47faa.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

JavaScript入门之JS中的内置对象

一、数组

1、数组的基本概念

数组是在内存空间中连续存储的一组有序数据的集合。元素在数组中的顺序,称为下标。可以使用下标访问数组的每个元素。 

2、如何声明一个数组

使用字面量声明:var arr = [];JS中,同一数组可以存储各种数据类型;  eg var arr = [1,"wuhao",true,{},null,func] 
使用new关键字声明:var arr = new Array(参数)
  >>>参数可以是:
    a.参数省略,表示创建一个空数组
    b.参数为一个整数,表示声明一个length为指定长度的数组。但是这个length可以随时可变可追加
    c.参数为逗号分隔的多个数值,表示数组的多个值。new array(1,2,3) == [1,2,3]   

3、数组中元素的读写/增删

读写:通过下标访问元素。下标从0开始 arr[1] = "haha"
增删:
  a.使用delete关键字,删除数组的某一个值。删除后,数组的长度不变,对应的位置变为Undefined egdelete arr[1];
  b.arr.pop():删除数组的最后一个值。相当于arr.length -= 1;
  c.arr.shift():删除数组的第一个值。
  d.arr.unshift():在数组的第0个位置新增一个值;
  e.arr.push():在数组的最后一个位置新增一个值;
  f. 直接访问数组没达到的下标,可以动态追加。
    egarr[8]="嘿嘿"; arr[100]=1; 中间如果有空余下标,将存入Undefined

4、数组中的其他方法(非常非常常用!!!!面试题特爱考!!!尤其是sort) 

join()将数组用指定分隔符链接为字符串。当参数为空时,默认用逗号分隔。

https://i-blog.csdnimg.cn/blog_migrate/8c50ba5f25be66541fc35f4a65cd1d3b.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/a30a87b6285ea5c803c733651a9af1dd.png

 

concat()[原数组不会被改变] 将数组,与两个或多个数组的值链接为一个新数组。concat连接时,如果有二维数组,则至多能拆一层[]
  eg [1,2].concat([3,4],[5,6]); -->[1,2,3,4,5,6]
        [1,2].concat([3,4,[5,6]]); -->[1,2,3,4,[5,6]]
push()在数组最后增加一个  unshift()数组开头增加一个 -->返回新数组的长度   pop():在数组最后删除一个  shift()数组开头删除一个-->返回被删除的值;
 [上述方法,均会改变原数组]

https://i-blog.csdnimg.cn/blog_migrate/aa620b476abeb2e024adebfa354eb09e.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/a005fcba6521048a5ddf4fbab288ea0c.png

 

reverse()[原数组被改变]将数组翻转,倒叙输出。
  eg var arr = [1,2,3,4,5,6,7,8];
        arr.reverse();
                console.log(arr);

https://i-blog.csdnimg.cn/blog_migrate/802646126313e685656f00dad913a508.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/e17c006b08d46054919acef5dd32fc18.png

slice(beginend)[原数组不会被改变]截取数组中的某一部分,并返回截取的新数组。
  >>>传入一个参数,表示开始区间,默认将截到数组最后;
  >>>传入两个参数,表示开始和结束的下标,左闭右开区间(包含begin,不包含end)
  >>>两个参数可以为负数,表示从右边开始数,最后一个值为-1

https://i-blog.csdnimg.cn/blog_migrate/23d58d9a7bbfbda703a77ad558e66422.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/a3a762d05dfd1786b5a157f191c35f6d.png

sort()[原数组被改变]将数组进行升序排列;
  >>>默认情况下,会按照每个元素首字母的ASCII值进行排序;
    eg[1,5,13,12,7,6,4,8].sort() -->[1,12,13,4,5,6,7,8]
  >>>可以传入一个比较函数,手动指定排序的函数算法;
函数将默认接收两个值ab,如果函数返回值>0,则证明a>b,如果函数返回值<0,则证明a<b
    arr.sort(function(a,b){
      return a-b; //升序排列;
      return b-a; //降序排列;
    });

https://i-blog.csdnimg.cn/blog_migrate/2c3517b7ee42d51e8c1340b3ce8d1c50.png

indexOf(valueindex):返回数组中第一个value值所在的下标,如果没有找到则返回-1;lastIndexOf(valueindex):返回数组中最后一个value值所在的下标,如果没有找到则返回-1
  >>>如果没有指定index,则表示全数组查找value
  >>>如果指定了index,则表示从index开始,向后查找value

https://i-blog.csdnimg.cn/blog_migrate/054cc72627e559b59bed0c78f2cadb05.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/687bf35ea6284a942205de4c7e7ccf5f.png

forEach():专门用于循环遍历数组。接收一个回调函数,回调函数接收两个参数,第一个参数为数组的每一项的值,第二个参数为下标(IE8之前,不支持此函数!!!!!)
  var arr = [1,5,6,3,4,2,7,6,4,8];
  arr.forEach(function(item,index){
    console.log(item);
  })

https://i-blog.csdnimg.cn/blog_migrate/0c23e8818ccbae6b7e579a14d8e4fc29.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/7abef5c5cab3f01bb6ce223452817df5.png

map():数组映射,使用方式与forEach()相同。不同的是,map可以有return返回值,表示将原数组的每个值进行操作后,返回给一个新数组。(IE8之前,不支持此函数!!!!!)
  var arr1 = arr.map(function(item,index){
    console.log(item);
    return item+2;
  });
  console.log(arr1);

5、二维数组与稀疏数组(了解)

二维数组:数组中的值,依然是一个数组形式。
  egarr=[[1,2,3],[4,5,6]]; //相当于两行三列,读取二维数组:arr[行号][列号]
稀疏数组:数组中的索引是不连续的。(length要比数组中实际的元素个数大)

https://i-blog.csdnimg.cn/blog_migrate/af47518a7dc20cf90a8b66a6c572cc49.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/6e5d018886bf185b374c02fde6d7dc7c.png

6、基本数据类型和引用数据类型

基本数据类型:赋值时,是将原变量中的值,赋值给另一个变量,复制完成后,两个变量相互独立,修改其中一个的值,另一个不会变化。

引用数据类型:赋值时,是将原变量在内存中的地址,赋值给另一个变量。赋值完成后,两个变量中存储的是同一个内存地址,访问的是同一份数据,其中一个改变另一个也会发生变化。  
数值型、字符串、布尔型等变量属于基本数据类型;数组,对象属于引用数据类型;

https://i-blog.csdnimg.cn/blog_migrate/b94acfa2aa694815678fcb45198bca3d.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/860a79064bb0e565116016c2974443af.png

 

二、内置对象

Boolean (布尔类)

有两种声明方式:可以使用字面量方式声明一个单纯的变量; typeof检测为Boolean类型,也可以使用new Boolean()声明一个Boolean类型的对象; typeof检测为Object类型。

https://i-blog.csdnimg.cn/blog_migrate/15a8aec6d97559582d7c19dd4c4532d5.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/f494d29a422add54dcc124b337e31ce1.png

Number

Number.MAX_VALUE:返回Number类可表示的最大值
Number.MIN_VALUE:返回Number类可表示的最小值

.toString():将数值类型转换为字符串类型;

https://i-blog.csdnimg.cn/blog_migrate/14c685c1eeaca1c3e1c95d408829b26e.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/6dad2914904a1dccbb1aa01fef6a97da.png

.toLocaleString():将数值按照本地格式顺序转换为字符串,一般从右开始,三个一组加逗号分隔;

https://i-blog.csdnimg.cn/blog_migrate/46f2e7a070d8c7ced09dced74d57e4ed.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/d653bc4061bd56de9246ea22567f39a8.png  

.toFixed(n):将数字保留n位小数,并转为字符串格式;

https://i-blog.csdnimg.cn/blog_migrate/e53298bd6f4ca615f3848eb832b6ee00.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/00d01195f9256db9768338b11808b5eb.png

.toPrecision(n):将数字格式化为指定长度;n表示不含小数点的位数长度。如果n<原数字长度,则用科学计数法表示。如果n>原数字长度,则小数点后补0

https://i-blog.csdnimg.cn/blog_migrate/802bc698d32af08aba2daf120b0068b7.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/ff60cbb12cf1a59a9ba99e31b5c5e3c9.png

.valueOf():返回Number对象的基本数字值;

https://i-blog.csdnimg.cn/blog_migrate/8b142f3dd5822506ebc9e55f482e27d5.png运行结果为:https://i-blog.csdnimg.cn/blog_migrate/c1e9e43c0e06ba6f9e41b9a4924d0f75.png


String

1、属性: str.length 返回字符串的长度,也就是字符数。字符串支持类似数组的下标访问方式:str.[0]
2、方法(很重要)
.toLowerCase():
将字符串所有字符转成小写;
.toUpperCase():将字符串所有字符转成大写;
.charAt(n):截取数组的第n个数组,相当于str[n]
.indexOf("str",index):从index位置开始,查找子串在字符串中出现的位置,如果没有找到返回-1;其他从数组的indexOf方法;
.lastIndexOf("str",index):同数组;
.substring(beginend):从字符串中截取子串
  >>>只传入一个参数,表示从begin开始,到最后;
  >>>传入两个参数,表示beginend的区间,左闭右开区间;
.split("分隔符"):将字符串已指定分隔符分隔,存入数组中。存入空""表示将字符串的每个字符分开放入数组;
.replace("old","new"):将字符串的第一个old替换为new
  >>>第一个参数,可以是普通字符串,也可以是正则表达式;
  >>>如果是普通字符串,则只替换第一个old。如果是正则表达式,则可以根据正则的写法要求,进行替换;

https://i-blog.csdnimg.cn/blog_migrate/6e6a4a432631f68f46b4659d6831d27e.png

Date 日期类

1 new Date():返回当前最新时间;new Date("2017,8,31,12:34:56");返回指定的时间  
2、常用方法:
.getFullYear()
:获取4位年份;
.getMonth()
:获取月份0~11
.getMonth()
:获取一个月中的第几天 1~31
.getDay()
:获取一周中的第几天 0~6,0表示周天
.dates.getHours():获取小时
.getMinutes():获取分钟
.getSeconds():获取秒

如何制作动态日期

https://i-blog.csdnimg.cn/blog_migrate/7b2d43fc1c2b878b499b2ce0492ef278.png

运行结果为:

https://i-blog.csdnimg.cn/blog_migrate/959de357f17203aa02330e665cc05cde.png

三、自定义对象

1、基本概念
对象:对象是拥有一系列无序属性和方法的集合。
键值对:对象中的数据,是以键值对的形式存在。对象的每个属性和方法,都对应着一个键名,以键取值。
属性:描述对象特征的一系列变量,称为属性。[对象中的变量]
方法:描述对象行为的一系列函数,称为方法。[对象中的函数]
2
、对象的声明
字面量声明: var obj = {
        key1 : value,
        key2 : value,
        func : function(){},
       }
  >>>对象中的数据是以键值对形式存储,键与值之间用:分隔。多个键值对之间用,分隔。
  >>>对象中的键可以是除了数组/对象以外的任何数据类型。但是一般我们只用普通变量名作为键。
  >>>对象中的值可以是任何数据类型,包括数组和对象。
使用new关键字声明: var obj = new Object()
           obj.key1 = value1,
           obj.func1= function(){}
3
、对象中属性和方法的读写:
.运算符
对象内部:this.属性 this.方法();  对象外部:对象名.属性 对象名.方法;

https://i-blog.csdnimg.cn/blog_migrate/7aa3aee8ed7dbd7bf39d980ff498ee4f.png

通过["key"]调用:对象名.["属性名"] 对象名.["方法名"]();
  >>>如果键中包括特殊字符,则只能使用第中方式;
  >>>对象中,直接写变量名,默认为调用全局变量。如果需要调用对象自身的属性或者方法。需要使用对象名.属性,或者this.属性。person.age this.age 。都可以,但推荐使用this关键字;

https://i-blog.csdnimg.cn/blog_migrate/15f23e0096d2e10ad61505c92ee7c34c.png

删除对象的属性和方法:delete 对象名.属性名/方法名。delete person.age;

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值