목차
1.javascript概述(了解)
2.JavaScript的基础语法
3.变量和常量
4.变量的使用
5.常量
5.1数据类型
5.2数据类型的转换
6.运行符和表达式
7.函数-function
8.作用域
9.按值传递
10.ECMAScript提供一组全局函数
11.递归调用
12.分支结构
12.循环结构
13.for的特殊用法
14.循环嵌套
15.数组
16.关联数组
17.冒泡排序
18.数组的常用方法
19.数组的函数
20.进出栈操作
웹 프론트엔드 JS 튜토리얼 JS 기본 프론트엔드 지식 포인트 요약

JS 기본 프론트엔드 지식 포인트 요약

Feb 28, 2018 pm 01:04 PM
javascript 프런트 엔드 지식 포인트

1.javascript概述(了解)

1.什么是javascript

javascript简称为js,是一种运行于js解释器/引擎中的脚本语言
js的运行环境:
1.独立安装的js解释器(node)
2.嵌入在浏览器内核中的js解释器
로그인 후 복사

2.js的发展史

1.1992年Nombas公司为自己开发了一款脚本语言SciptEase
2.1995年Netscape(网景)开发了一款脚本语言LiveScrpt,后来更名javascript
3.1996年Microsoft在IE3.0版本中克隆javascript,JScript
4.1997年,javascript提交给ECMA(欧洲计算机制造商联合会)。定义ECMAScript,简称ES5,ES6
로그인 후 복사

3.js组成部分

1.核心(ECMAScript)
2.DOM (Document object model)文档对象模型
3.BOM (Browser object model)浏览器对象模型
로그인 후 복사

4.js的特点

1.语法类似于c,java
2.无需编译,由js解释器直接运行
3.弱类型语言
4.面向对象的
로그인 후 복사

2.JavaScript的基础语法

1.使用javascript

1.搭建运行环境
  1.独立安装的JS解释器-NodeJS
    1.在命令行界面:输入node
  console.log("你好,世界");
  在控制台打印输出
  说明:js是可以独立在js解释器中运行
2.使用浏览器内核中嵌的js解释器
  浏览器内核负责页面内容的渲染,由两部分组成:
     内容排版引擎-解析:HTML/CSS
     脚本解释引擎-解析:javascript
 1.直接在Console(控制台)中输入脚本并运行
 2.将js脚本嵌入在HTML页面中执行
   1.html元素的事件中执行js脚本
      事件-onclick-鼠标单击时要执行的操作
   2.在<script>中编写脚本并执行
      网页的任何位置处,嵌入一对<script>标记,并且将脚本编写在<script>标记中。
       3.使用外部脚本文件(.js为后缀)
     1.创建脚本文件(.js)并在文件中编写脚本
     2.在使用的网页中引用脚本文件
        <script src="脚本文件的url"></script>
      
 3.js调试,F12查看错误,出错时不影响其它代码块,后续代码继续执行。
   <script>
    /*这个脚本错误*/
    document.writ("<h3>周芷若</h3>");
       </script>
      <script>
    /*继续执行*/
        console.log("金花婆婆");  
      </script>
    3.通过语法规范
  1.语句:可执行的最小单元
          必须以;结束
      严格区分大小
      所有的符号必须是英文
      2.注释:
    // :单行注释
    /**/:多行注释
로그인 후 복사

3.变量和常量

1.变量声明

1.声明变量
  var 变量名;
2.为变量赋值
  变量名=值;
3.声明变量是直接赋值
  var 变量名=值;
  ex:
  var uname="张无忌";
  var age=20;
 注意:
   1.允许在一条语句中声明多个变量,用逗号隔开变量名。
     var uname="韩梅梅",uage=20;
   2.如果声明变量,但未赋值,则值默认为undefined
   3.声明变量时可以不适用var,但不推荐
     uname="tom";
로그인 후 복사

2.变量名的规范

1.不允许以数字开头
2.不允许使用关键词和保留关键字
3.最好见名知意
  var uname; var uage;
4.允许包含字母,数字,下划线(_),$
  var $name="Tom";
5.尽量使用小驼峰命名法
  var userName;
  var uname;
  var _uname;//下划线
  var user_name;//下划线
  var UserName;//大驼峰命名法
로그인 후 복사

4.变量的使用

1.声明变量未赋值,值默认为undefined
2.使用未声明过的变量 报错
3.赋值操作
  变量名出现在=的左边,一律是赋值操作
    var uname="林妹妹";
4.取值操作
  变量只要没出现在=的左边,一律是取值操作
    var uage=30;
console.log(uage);
var num1=uage;
로그인 후 복사

5.常量

1.什么是常量
  在程序中,一经声明就不允许被修改的数据就是常量。
2.语法
  const 常量名=值;
  常量名在程序中,通常采用大写形式。
  const PI=3.1415926;
로그인 후 복사

5.1数据类型

1.数据类型的作用

规定了数据在内存中所占的空间
10.1 64位 8个字节
bit:位
8bit=1byte字节
1024byte=1KB 
1024KB=1MB
1024MB=1G 
1024G=1T
로그인 후 복사

2.数据类型详解

1.数据类型分两大类
  原始类型(基本类型)
  引用类型
  1.原始类型
    1.Number 类型
  数字类型
  作用:可以表示32位的整数,也可以表示64位的浮点数(小数)
  整数:
     1.十进制
       10 
     2.八进制
       由0-7八个数字组成,逢八进一
       八进制中以0开始
       var num=010;
     3.十六进制
       由0-9和A-f组成,逢十六进一
          A:10
      B:11
      C:12
      D:13
      E:14
      F:15
       十六进制中以0X开始
      浮点数:又称小数
    小数点计数法:12.58  
    指数计数法:3.4e3(3.4*10的3次方)
2.String类型
  字符串类型
  作用:表示一系列的文本字符数据,如:姓名,性别,住址...
  字符串中的每个字符,都是由Unicode码的字符,标点和数字组成。
  Unicode码:每个字符在计算机中都有一个唯一的编码表示该字符,
  该码就是unicode码(他是十六进制)
     1.查找一个字符的unicode码:
     "李".charCodeAt();
     //10进制输出

     "李".charCodeAt().toString(2);
     //二进制输出

     "李".charCodeAt().toString(16);
     //十六进制

       李的unicode码是:674e
     2.如何将674e转换为汉字?
        用\u
       ex:
        var str="\u674e";
    console.log(str);//结果是“李”

    汉字的Unicode码的范围:
    \u4e00~\u9fa5
     3.特殊字符需要转义字符
       \n: 换行
       \t: 制表符(缩进)
       \": "
       \': '
       \\: \
3.Boolean类型
  布尔类型
  作用:在程序中表示真或假的结果
  取值:
     true或false
  var isBig=true;
  var isRun=false;
  在参与到数学运算时,true可以当成1做运算,false可以当做0做运算。
  var res=25+true; //结果为26
    4.Undefined类型
  作用:表示使用的数据不存在
  Undefined类型只有一个值,即undefined当声明的变量未赋值(未初始化)时,
  该变量的默认值就是undefined.
5.Null类型
  null用于表示不存在的对象。
      Null类型只有一个值,即null,如果函数或方法要返回的是对象,
      找不到该对象,返回的就是null。
로그인 후 복사

5.2数据类型的转换

1.隐式(自动)转换
  不同类型的数据在计算过程中自动进行转换
  1.数字+字符串:数字转换为字符串
    var num=15;
var str="Hello";
var res=num+str; //结果:15Hello
  2.数字+布尔:将布尔转换为数字true=1,false=0
    var num1=10;
var isSun=true;
var res1=num1+isSun;//结果:11
  3.字符串+布尔:将布尔转换为字符串
    var str1="Hello";
var isSun1=true;
var res2=str1+isSun1;//结果:Hellotrue
  4.布尔+布尔:将布尔转换为数字
    true=1,false=0;
    var isSun2=true;
var isSun3=flase;
var res=isSun2+isSun3;//结果1
2.强制转换 -转换函数
  1.toString()
    将任意类型的数据转换为字符串
语法:
  var num=变量.toString();
  ex:
  var num=15;
  var str=num.toString();
  console.log(typeof(str));
  2.parseInt()
    将任意类型的数据转换为整数
如果转换不成功,结果为NaN(Not a Number)
语法:var result=parseInt(数据);
  3.parseFloat()
    将任意类型的数据转换为小数
如果转换不成功,结果为NaN
语法:var result=parseFloat(数据);
  4.Number()
    将任意类型数据转为Number类型
注意:如果包含非法字符,则返回NaN
语法:var result=Number(数据);
로그인 후 복사

6.运行符和表达式

1.什么是表达式

由运算符连接操作数所组成的式子就是表达式。
ex:
  15+20
  var x=y=40
任何一个表达式都会有结果。
로그인 후 복사

2.运算符

1.算术运算符
  +,-,*,/,%,++,--

  5%2=1;
  ++:自增运算,只做+1操作
  ++在前:先自增,再运算;
  ++在后:先运算,再自增;
  ex:
    var num=5;
console.log(num++);//打印5,变为6
console.log(++num);//变为7,打印7

ex:
    var num=5;
             5   (6)6   6(7)    (8)8
    var res=num+ ++num +num++ + ++num +num++ +num;  
  8(9)   9
结果:42
2.关系运算符(比较)
  >,<,>=,<=,==,===(全等),!=,!==(不全等)
  关系运算的结果:boolean类型(true,false)
  问题:
    1. 5 > "10" 结果:false
   关系运算符两端,只要有一个是number的话,另外一个会隐式转换为number类型,再进行比较。
2."5">"1 0" 结果:true
  "5".charCodeAt(); //53
  "1".charCodeAt(); //49
  "张三丰" > "张无忌" 结果:false
    19977  >   26080
3."3a" > 10 结果:false
  Number("3a")--->NaN
  注意:
    NaN与任何一个数据做比较运算时,结果都是false.
    console.log("3a">10); false
    console.log("3a"==10); false
    console.log("3a"<10); false
    isNaN()函数:
       语法:isNaN(数据);
       作用:判断指定数据是否为非数字,如果不是数字,返回值为true,是数字的话返回的值为false
       console.log(isNaN("3")); //false
       console.log(isNaN("3a")); //ture 

       console.log("3a"!=10);//true
3.逻辑运算符
  !,&&,||

  !:取反
  &&:并且,关联的两个条件都为true,整个表达式的结果为true
  ||:或者,关联的两个条件,只要有一个条件为true,整个表达式的结果就为true

  短路逻辑:
     短路逻辑&&:
     当第一个条件为false时,整体表达式的结果就为false,不需要判断第二个条件
     如果第一个条件为true,会继续判断或执行第二个条件
 短路逻辑||:
     当第一个条件为true时,就不再执行后续表达式,整体结果为true。
     当第一个条件为false时,继续执行第二个条件或操作。

4.位运算符
  <<,>>,&,|,^

  右移是把数变小,左移是把数变大
  &:按位与,判断奇偶性
     任意数字与1做按位与,结果为1,则为奇数,结果为0,则为偶数。
     var num=323;
 var result=num & 1
 console.log(result); //结果为1
  |:按位或,对小数取整
     将任意小数与0做按位或,结果则取整数部分。

  ^:按位异或,用于交换两个数字
      二进制位数,逐位比较,不同则为1,相同则为0
   a=a^b;
   b=b^a;
   a=a^b;
5.赋值运算符和扩展赋值运算符
  1.赋值运算 =
    var uname="TOM";
  2.扩展赋值运算符
    +=,-=,*=,/=,%=,^=...
a=a+1 a+=1;a++;++a
a=a^b
a^=b
6.条件(三目)运算符
  单目(一目)运算符,只需要一个操作数或表达式
  ex: a++,b--,!isRun
  双目(二元)运算符,需要两个操作数或表达式
   +,-,*,/,%,>,<,>=,<=,==,!=,===,!==,&&,||,&,|,^
  三目(三元)运算符,需要三个操作数或表达式
     条件表达式?表达式1:表达式2;
        先判断条件表达式的值,
    如果条件为true,则执行表达式1的操作
    如果条件为false,则执行表达式2的操作
  ex:成绩大于60及格,否则,输出不及格
로그인 후 복사

7.函数-function

1.什么是函数

函数,function,也称为方法(method)
函数是一段预定义好,并可以被反复执行的代码块。
   预定义:提前定义好,并非马上执行。
   代码块:可以包含多条可执行的语句
   反复执行:允许被多次调用
函数-功能
   parseInt();
   parseFloat();
   Number();
   console.log();
   alert();
   document.write();
로그인 후 복사

2.定义和使用函数

1.普通函数的声明和调用(无参数无返回值)
  1.声明
    function 函数名(){
   //函数体
     若干可执行的语句
  
}
  2.调用函数
    在任意javascript合法的位置处通过 函数名(); 对函数进行调用。
 

2.带参函数的声明和调用
  1.声明
    function 函数名(参数列表){
   //函数体
}
参数列表:可以声明0或多个参数,多个参数间用逗号隔开
声明函数时,声明的参数,称之为“形参”
 2.调用
   函数名(参数值列表);
   注意:调用函数时,传递的参数数值,称之为“实参”。
         尽量按照声明函数的格式进行调用
3.带返回值函数声明和调用
  1.声明
    function 函数名(参数){
   //函数体
   return 值;
   //return关键字,程序碰到return关键词,就立马跳出并且把值带出去
}
注意:最多只能返回一个值
  2.调用
    允许使用一个变量接收函数的返回值
    var result=函数名(实参);
로그인 후 복사

8.作用域

1.什么是作用域
  作用域表示的是变量或函数的可访问范围。
  JS中的作用域分两种:
     1.函数作用域
   只在函数范围内有效
 2.全局作用域
   代码的任何位置都有效
로그인 후 복사

2.函数作用域中变量

 又称为局部变量,只在声明的函数中有效
 ex:
   function test(){
     var num=10;
   }
로그인 후 복사

3.全局作用域中的变量

 又称为全局变量,一经声明,任何位置都能用
 1.不在function中声明的变量,为全局变量
 2.声明变量不使用var,无论任何位置声明,都是全局变量(不推荐)

 注意:
   全局变量和局部变量冲突时,优先使用局部变量。
 3.变量的声明提前
   1.什么是声明提前
     在JS程序正式执行之前,function声明的函数,
     会将所有var声明的变量,都预读(声明)到所在作用域的顶部,但赋值还是保留在原位。
로그인 후 복사

9.按值传递

1.什么是按值传递

原始(基本)类型的数据(number,string,bool),在做参数传递时,
都是按照“值传递”的方式进行传参的。
值传递:真正传递参数时,实际上传递的是值的副本(复制出来一个值),
而不是原始值。
로그인 후 복사

2.函数的作用域

1.分为两种
  1.局部函数
    在某个function中声明的函数。
  2.全局函数
    在最外层(<script>中)定义的函数就是全局函数,全局函数一经定义,
    任何位置处都能调用。
로그인 후 복사

10.ECMAScript提供一组全局函数

1.parseInt()
 2.parseFloat()
 3.isNaN()
 4.encodeURI()

URL:uniform resource locator路径
URI:uniform resource Identifier
作用:对统一资源标识符进行编码,并返回编码后的字符串
所谓的进行编码,就是将地址中的多字节文字编成单字节的文字
(英文数字:单字节,汉字2-3字节不等)
로그인 후 복사

5.decodeURI()

作用:对已经编码的URI进行解码,并返回解码后的字符串。
로그인 후 복사

6.encodeURIComponent()

在encodeURI的基础上,允许对特殊符号进行编码。
로그인 후 복사

7.decodeURIComponent()

解码特殊符号
로그인 후 복사

8.eval()

作用:执行以字符串表示的js代码
로그인 후 복사

11.递归调用

递归:在一个函数的内部再一次调用自己
 问题:

 1*2*3*4*5
 
 5*4*3*2*1
 求5!(5*4*3*2*1) 4!(4*3*2*1) 3!(3*2*1)
       2!(2*1) 1!(1*1)

   5!=5*4!
   4!=4*3!
   3!=3*2!
   2!=2*1!
   1!=1
   通过一个函数,求数字n的阶乘
   10!=10*(10-1)!
   效率:
     在本次调用还未结束时,就开始下次的调用,本次调用就会被挂起,
     直到所有的调用都完成之后,才会依次返回,调用的次数越多,效率越低。
로그인 후 복사

12.分支结构

1.if结构

if(条件){
   语句块;
}
注意:
  条件尽量是boolean的,如果不是boolean,以下情况会当做false处理
   if(0){...}
   if(0.0){...}
   if(""){...}
   if(undefined){...}
   if(null){...}
   if(NaN){...}
注意:if后的{}可以省略,但是不推荐,只控制if后的第一句话。
로그인 후 복사

2.if...else...结构

语法:
  if(条件){
     语句块
  }else{
     语句块
  }
로그인 후 복사

3.if....else if...else...

语法:
  if(条件1){
    语句块1
  }else if(条件2){
     语句块2
  }else if(条件3){
     语句块3
  }else{
     语句块n
  }
로그인 후 복사

4.switch...case

1.作用:(使用场合)
  等值判断
2.语法
  1.switch(值/表达式){
     case 值1:
    语句块1;
    break;//结束switch结构,可选的
 case 值2:
    语句块2;
    break;
    ...
 default:
   语句块n;
   break;
   }
  2.特殊用法
    执行相同操作时:
   switch(值/表达式){
       case 值1:
       case 值2:
       case 值3:
          语句块;
   }
로그인 후 복사

12.循环结构

1.特点

1.循环条件:循环的开始和结束
2.循环操作:要执行的相同或相似的语句
로그인 후 복사

2.循环-while

语法:
   while(条件){
      //循环体-循环操作
      
  //更新循环条件
   }
로그인 후 복사

3.循环的流程控制

1.break
  作用:终止整个循环的运行
2.continue
  作用:终止本次循环的运行,继续执行下一次循环
 ex:
   循环从弹出框中录入信息,并且打印,直到输入exit为止。
로그인 후 복사

4.循环-do...while

1.语法
  do{
     //循环体
  }while(条件);

 执行流程:
     1.先执行循环体
 2.再判断循环条件
   如果条件为真,则继续执行循环体
   如果条件为假,则跳出循环操作
로그인 후 복사

5.循环-for

语法:
  for(表达式1;表达式2;表达式3){
     //循环操作
  }
  表达式1:循环条件的声明
  表达式2:循环条件的判断
  表达式3:更新循环变量
  执行流程:
     1.先执行表达式1
 2.判断表达式2的结果(boolean类型)
 3.如果2条件为真,则执行循环体,否则退出
 4.执行完循环体后,再执行表达式3
 5.判断表达式2的结果
  ex: for(var i=1;i<=10;i++){
      console.log(i);
   }
로그인 후 복사

13.for的特殊用法

1.for(表达式1;表达式2;表达式3;){}

1.省略表达式
  三个表达式可以任意省略,分号不能省
  但一定在循环的内部或外部将表达式补充完整
2.表达式1和表达式3 允许写多个表达式,用逗号隔开表达式
로그인 후 복사

14.循环嵌套

1.循环嵌套

在一个循环的内部,又出现一个循环
  for(var i=1;i<100;i++){ //外层循环
     for(var j=1;j<=10;j++){
    //内层循环
 }
  }
 外层循环走一次,内层循环走一轮
로그인 후 복사

15.数组

1.什么是数组

在一个变量中保存多个数据。
数组是按照线型顺序来排列的-线型结构
数组中:除了第一个元素外,每个元素都有一个直接的"前驱元素"。
数组中:除了最后一个元素外,每个元素都有一个会直接的"后继元素"。
로그인 후 복사

2.声明数组

1.语法
  1.var 数组名=[];
    var names=[];
  2.var 数组名=[元素1,元素2,元素3...];
    var names=["孙悟空","猪八戒","沙和尚"];
  3.var 数组名=new Array();
    var names=new Array();
  4.var 数组名=new Array(元素1,元素2...);
    var names=new Array("林黛玉","贾宝玉","王熙凤");
로그인 후 복사

3.数组的使用

1.取值和赋值操作
  取值:
   数组名[下标]
   var newArr=["tom","lilei"];
   newArr[0]
  赋值:
    数组名[下标]=值;
     newArr[2]="韩梅梅";
2.获取数组的长度
  数组长度:数组中元素的个数
  属性:length
  语法:数组名.length
3.配合循环,遍历数组中的每个元素
  for(var i=0;i<names.length;i++){
      i:表示数组中每个元素的下标
      names[i]:每个元素
  }
  
  length表示数组中即将要插入的元素的下标
  var names=["tom","lili","lucy"];
      names[names.length]="lilei";
로그인 후 복사

16.关联数组

1.关联数组
  以字符串作为元素的下标的数组,就是关联数组。
  以数字作为下标的数组,就是索引数组。
$array=["name"=>"tom"]
2.js中的关联数组
  var array=[];
  array["字符串下标"]=值;
  注意:
    1.关联数组中,字符串下标的内容是不记录到length中的
2.只能通过 字符串 做下标取值
3.for...in
  遍历出任意数组中的字符串下标 以及 索引下标
  语法:for(var 变量 in 数组名){
       //变量:字符串下标 或 索引下标
  }
로그인 후 복사

17.冒泡排序

1.什么是冒泡
  排序算法之一,将一组数据进行排序,小的数字往前排,大的数字往后排。
  两两比较,小的靠前。
  var arr=[9,23,6,78,45]; 5个数  比4轮
  第一轮:比较了4次
  第二轮:比较了3次
  第三轮:比较了2次
  第四轮:比较了1次
  1.n个数字,则比较n-1轮
    for(var i=1;i<arr.length;i++)
  2.轮数增加,比较的次数较少
    for(var j=0;j<arr.length-i;j++)
          第一轮  5     -1=4次
      第二轮  5     -2=3次
              第三轮  5     -3=2次
      第四轮  5     -4=1次
      两两比较 小的靠前
      if(arr[j]>arr[j+1])

         arr[j]^=arr[j+1];
         arr[j+1]^=arr[j];
         arr[j]^=arr[j+1]
로그인 후 복사

18.数组的常用方法

1.toString();

作用:将数组转换为字符串,并返回转换后的结果。
语法: var str=数组对象.toString();
로그인 후 복사

2.join()

作用:将数组的元素通过指定的字符连接到一起,并返回连接后字符串
语法:var str=数组对象.join("字符");
로그인 후 복사

3.concat()

作用:拼接两个或更多的数组,并返回拼接后的结果
语法:var res=数组对象.concat(数组1,数组2,...);
로그인 후 복사

19.数组的函数

1.slice()

作用:截取子数组,从指定的数组中,截取几个连续的元素组成一个新的数组
语法:var arr=数组名.slice(start,[end]);
      start:从哪个下标位置处开始截取,取值为正,从前向后算; 
      取值为负,从后向前算          0      1      2
   var arr=["中国","美国","俄罗斯"];
             -3      -2    -1 
      end:指定结束位置处的下标(不包含自己),该参数可以省略,
      如果省略的话,就是从strat开始一直截取到尾。
로그인 후 복사

2.splice()

作用:允许从指定数组中,删除一部分元素,同时再添加一部分元素
语法:arr.splice(start,count,e1,e2...);
      start:指定添加或删除元素的起始下标
  count:指定要删除元素的个数,取值为0表示不删除
  e1:要增加的新元素,可以多个
  返回值:返回一个由删除元素所组成的数组
로그인 후 복사

3.reverse()

作用:将一个数组反转
语法:数组名.reverse();
注意:该函数会改变当前数组的内容
로그인 후 복사

4.sort()

作用:排序,默认情况下按照数组元素们的Unicode码进行升序排序。
语法:数组名.sort();
特殊:
   允许自定义排序函数,从而实现对数字的升序或降序的排序
   ex:
     var arr=[12,6,4,115,78];
 //排序函数(升序)
 function sortAsc(a,b){
    return a-b;
 }
 arr.sort(sortAsc);
  原理:
    1.指定排序行数sortAsc,定义两个参数a和b,表示数组中相邻的两个数字
2.将排序函数指定给数组sort()函数,数组会自动传递数据到sortAsc()中,
  如果sortAsc()的返回值>0,则交互两个数字的位置,否则不变。
  使用函数完成升序排序:
     arr.sort(
       function(a,b){  //匿名函数
         return a-b;
       }
    )
로그인 후 복사

20.进出栈操作

JS是按照标准的“栈式操作”来访问数组
 所有的“栈式操作”的特点就是“后进先出”
 1.push()

入栈,在栈顶添加指定的元素,并返回新数组的长度
 var arr=[10,20,30];
 //向栈顶增加新的数据40
 var len=arr.push(40); //4
로그인 후 복사

2.pop()

出栈,删除(删除栈顶数据)并返回删除元素
注意:改变原来数组
로그인 후 복사

3.shift()

删除数组头部(第一个)的元素并返回删除元素
语法:数组名.shift();
로그인 후 복사

4.unshift()

在数组的头部(第一个)元素的位置处,增加元素,返回的是数组的长度。
语法:数组名.unshift(增加的数据);
로그인 후 복사

3.二维数组
 1.什么是二维数组

在一个数组中的元素又是一个数组,也可以称为:数组的数组。
로그인 후 복사

2.二维数组的使用

var names=[
    ["孙悟空","猪八戒","沙和尚"],
["大乔","小乔","曹操"],
["林黛玉","贾宝玉","薛宝钗"]
];
 //打印输出“小乔”
   console.log(names[1][1]);
로그인 후 복사

相关推荐:

js基础内置对象详解

JavaScript学习总结【2】JS基础

JS基础随笔(菜鸟必看篇)

위 내용은 JS 기본 프론트엔드 지식 포인트 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP와 Vue: 프런트엔드 개발 도구의 완벽한 조합 PHP와 Vue: 프런트엔드 개발 도구의 완벽한 조합 Mar 16, 2024 pm 12:09 PM

PHP와 Vue: 프론트엔드 개발 도구의 완벽한 조합 오늘날 인터넷이 빠르게 발전하는 시대에 프론트엔드 개발은 점점 더 중요해지고 있습니다. 사용자가 웹 사이트 및 애플리케이션 경험에 대한 요구 사항이 점점 더 높아짐에 따라 프런트 엔드 개발자는 보다 효율적이고 유연한 도구를 사용하여 반응형 및 대화형 인터페이스를 만들어야 합니다. 프론트엔드 개발 분야의 두 가지 중요한 기술인 PHP와 Vue.js는 함께 사용하면 완벽한 도구라고 볼 수 있습니다. 이 기사에서는 독자가 이 두 가지를 더 잘 이해하고 적용할 수 있도록 PHP와 Vue의 조합과 자세한 코드 예제를 살펴보겠습니다.

간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 간단한 JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법 Jan 05, 2024 pm 06:08 PM

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

프론트엔드 면접관이 자주 묻는 질문 프론트엔드 면접관이 자주 묻는 질문 Mar 19, 2024 pm 02:24 PM

프론트엔드 개발 인터뷰에서 일반적인 질문은 HTML/CSS 기초, JavaScript 기초, 프레임워크 및 라이브러리, 프로젝트 경험, 알고리즘 및 데이터 구조, 성능 최적화, 크로스 도메인 요청, 프론트엔드 엔지니어링, 디자인 패턴, 새로운 기술 및 트렌드. 면접관 질문은 후보자의 기술적 능력, 프로젝트 경험, 업계 동향에 대한 이해를 평가하기 위해 고안되었습니다. 따라서 지원자는 자신의 능력과 전문성을 입증할 수 있도록 해당 분야에 대한 충분한 준비를 갖추어야 합니다.

Django는 프론트엔드인가요, 백엔드인가요? 확인 해봐! Django는 프론트엔드인가요, 백엔드인가요? 확인 해봐! Jan 19, 2024 am 08:37 AM

Django는 빠른 개발과 깔끔한 ​​방법을 강조하는 Python으로 작성된 웹 애플리케이션 프레임워크입니다. Django는 웹 프레임워크이지만 Django가 프런트엔드인지 백엔드인지에 대한 질문에 답하려면 프런트엔드와 백엔드의 개념에 대한 깊은 이해가 필요합니다. 프론트엔드는 사용자가 직접 상호작용하는 인터페이스를 의미하고, 백엔드는 HTTP 프로토콜을 통해 데이터와 상호작용하는 서버측 프로그램을 의미합니다. 프론트엔드와 백엔드가 분리되면 프론트엔드와 백엔드 프로그램을 독립적으로 개발하여 각각 비즈니스 로직과 인터랙티브 효과, 데이터 교환을 구현할 수 있습니다.

Go 언어 프런트엔드 기술 탐색: 프런트엔드 개발을 위한 새로운 비전 Go 언어 프런트엔드 기술 탐색: 프런트엔드 개발을 위한 새로운 비전 Mar 28, 2024 pm 01:06 PM

빠르고 효율적인 프로그래밍 언어인 Go 언어는 백엔드 개발 분야에서 널리 사용됩니다. 그러나 Go 언어를 프런트엔드 개발과 연관시키는 사람은 거의 없습니다. 실제로 프런트엔드 개발에 Go 언어를 사용하면 효율성이 향상될 뿐만 아니라 개발자에게 새로운 지평을 열어줄 수도 있습니다. 이 기사에서는 프런트엔드 개발에 Go 언어를 사용할 수 있는 가능성을 살펴보고 독자가 이 영역을 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공합니다. 전통적인 프런트엔드 개발에서는 사용자 인터페이스를 구축하기 위해 JavaScript, HTML, CSS를 사용하는 경우가 많습니다.

HTML 캐싱 메커니즘의 비밀 공개: 필수 지식 포인트 HTML 캐싱 메커니즘의 비밀 공개: 필수 지식 포인트 Jan 23, 2024 am 08:51 AM

HTML 캐싱 메커니즘의 비밀: 필수 지식 포인트, 특정 코드 예제가 필요합니다. 웹 개발에서 성능은 항상 중요한 고려 사항이었습니다. HTML 캐싱 메커니즘은 웹 페이지 성능을 향상시키는 핵심 중 하나입니다. 이 기사에서는 HTML 캐싱 메커니즘의 원리와 실제 기술을 공개하고 구체적인 코드 예제를 제공합니다. 1. HTML 캐싱 메커니즘의 원리 웹 페이지에 액세스하는 동안 브라우저는 HTTP 프로토콜을 통해 HTML 페이지를 가져오도록 서버에 요청합니다. HTML 캐싱 메커니즘은 브라우저에서 HTML 페이지를 캐시하는 것입니다.

Django: 프론트엔드와 백엔드 개발을 모두 처리할 수 있는 마법의 프레임워크! Django: 프론트엔드와 백엔드 개발을 모두 처리할 수 있는 마법의 프레임워크! Jan 19, 2024 am 08:52 AM

Django: 프론트엔드와 백엔드 개발을 모두 처리할 수 있는 마법의 프레임워크! Django는 효율적이고 확장 가능한 웹 애플리케이션 프레임워크입니다. MVC, MTV를 포함한 다양한 웹 개발 모델을 지원할 수 있으며 고품질 웹 애플리케이션을 쉽게 개발할 수 있습니다. Django는 백엔드 개발을 지원할 뿐만 아니라 프런트엔드 인터페이스를 빠르게 구축하고 템플릿 언어를 통해 유연한 뷰 표시를 구현할 수 있습니다. Django는 프론트엔드 개발과 백엔드 개발을 완벽한 통합으로 결합하므로 개발자가 전문적으로 학습할 필요가 없습니다.

Golang과 프런트엔드 기술의 결합: Golang이 프런트엔드 분야에서 어떤 역할을 하는지 살펴보세요. Golang과 프런트엔드 기술의 결합: Golang이 프런트엔드 분야에서 어떤 역할을 하는지 살펴보세요. Mar 19, 2024 pm 06:15 PM

Golang과 프런트엔드 기술의 결합: Golang이 프런트엔드 분야에서 어떤 역할을 하는지 살펴보려면 구체적인 코드 예제가 필요합니다. 인터넷과 모바일 애플리케이션의 급속한 발전으로 인해 프런트엔드 기술이 점점 더 중요해지고 있습니다. 이 분야에서는 강력한 백엔드 프로그래밍 언어인 Golang도 중요한 역할을 할 수 있습니다. 이 기사에서는 Golang이 프런트엔드 기술과 어떻게 결합되는지 살펴보고 특정 코드 예제를 통해 프런트엔드 분야에서의 잠재력을 보여줍니다. 프론트엔드 분야에서 Golang의 역할은 효율적이고 간결하며 배우기 쉬운 것입니다.

See all articles