JS第一月查漏补缺

1、JAVAScript的组成:ECMAScript,BOM(浏览器对象模型),DOM(文档对象模型)。

2、系统对话框:

 alert()


  confirm()点击确定返回true,点击取消返回false。

  prompt()第一个参数:面板上显示的内容,第二个参数输入框默认的内容。

        点击确定返回输入框内容点击取消返回null。

 

3、open()

  

用于打开一个新的窗口

第一个参数:url网址(URL又叫统一资源定位符)。

第二个参数:字符串,给打开的窗口起一个名字。

第三个参数:遗传有特殊意义的字符串(多用于声明窗口的位置大小等)。

 

4、history  历史对象

  history.length输出当前历史记录的条数【注】只要url不一致就会产生历史记录

  方法:

  history.back()  返回上一条记录

  history.forward()  前进到下一条记录

  history.go()  

    参数:正整数  前进N条记录

       0  刷新当前页面

       负整数  后退n条记录

 

5、location()  地址栏对象

 url(统一资源定位符)组成部分:

  protocol  协议  http:  https:  file:

  hostname  主机名  IP/域名(域名就是IP的别称)

  port  端口号:是当前电脑内,使用网络的软件的唯一的编号

  默认端口的编号:浏览器:8080,http:80,https:443,

  pathname  路径

  search  查询字符串

  hash  锚点

  比如:https://www.baidu.com:8080/s?wd=钢铁侠#10

location()方法:

  location.assign("url")//直接在本窗口跳转到url,会产生历史记录。

  location.replace("url")//直接在本窗口跳转到url,不会产生历史记录。

  location.reload()//重载刷新。

  location(true);//强制重载页面,不经过浏览器缓存,直接在服务器加载页面。

 

6、下面的这段代码是错误的,js要获取自定义属性只能通过getAttrrbute();

alert(document.getElementById("box").bbb);

7、querySelector

 
 定义和用法
      匹配指定 CSS 选择器的第一个元素。 如果没有找到,返回 null。
      querySelector() 方法返回文档中匹配指定 CSS 选择器的一个元素。
  注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代。
  
 document.querySelectorAll()
    返回值:肯定是数组

    参数(querySelector同样):都是字符串,格式是css选择器的格式,支持所有css选择器格式。

 

 8、innerHTML和nodeValue的区别

  首先在获取文本节点的时候是不能用innerHTML这个属性来获取文本内容的(这个非标准的属性必须在获取元素节点的时候,才能输出里面包含的文本)。然后在复制的时候,nodeValue会把包含在文本里的HTML转移成特殊字符,从而达到形成单纯文本的效果(意思就是直接将节点里面的所有东西以字符的形式直接全部赋值,并不会对其中的HTML进行解析)。相反,innerHTML在进行赋值时,其中的THML语法会被解析。

9、忽略空白节点(删除空白节点)(返回一个删除空白节点后的数组) 

 1 function removeSpaceNode(nodes){
 2             var res = [];
 3             for(var i = 0;i < nodes.length;i++){
 4                 if(!(nodes[i].nodeType == 3 && /^\s+$/ig.test(nodes[i].nodeValue))){
 5                     res.push(nodes[i]);
 6                 }
 7             }
 8             return res;
 9         }
10 function removeSpaceNode(parentNode){
11             var nodes = parentNode.childNodes;
12             for(var i = 0;i < nodes.length;i++){
13                 if(nodes[i].nodeType == 3 && /^\s+$/ig.test(nodes[i].nodeValue)){
14                     nodes.parentNode.removeChild(nodes[i]);
15                 }
16             }
17     }   

10、正则方法.test()  .exec()的区别,exec()需要注意的地方。

  test()

    格式:正则.test(字符串);  功能:在字符串中匹配正则是否存在。  返回值:如果匹配成功,返回true,否则返回false。

  exec()

    格式:正则.exec(字符串)  功能:在字符串中匹配正则是否存在。  返回值:如果匹配恒公,返回匹配到的字符串,是一个短路操作。如果匹配失败,返回null

    【注】返回值是一个数组(由于是一个短路操作,返回的数组中永远都只有一个元素)

 

11、字符串中使用正则表达式的方法

  match

    格式:字符串.match(正则)

    功能:在字符串中匹配正则是否存在。返回值:匹配成功,返回数组(装有所有与正则表达式匹配的子字符串;匹配失败返回null)

  replace

    格式:字符串.replace(oldStr/正则,newStr);

    功能:用newStr字符串替换oldStr/正则,返回一个新的字符串。

    返回值:返回替换成功以后的新的字符串,原字符串不会被修改。

  search

    格式:字符串.search(字符串/正则);

    功能:查找子字符串在字符串中第一次出现的位置。

    返回值:如果找不到返回-1,找到返回位置。

  split

    格式:字符串.split(分割符/正则);

    功能:用分割符将字符串,分割成子串,放在数组中。

    返回值:数组。

 

12、正则表达式找中的元字符(注意元字符中的重复字符)

posted @ 2019-03-11 20:59  丁沉~  阅读(183)  评论(0)    收藏  举报