Published on

JavaScript基础回顾2

Authors

HTML

<meta>

<!--描述 HTML 文档的元数据:每三十秒刷新界面-->
<meta http-equiv="refresh" content="2" />
<!--网站图标-->
    <link
      rel="shortcut icon"
      href="图片地址"
      type="image/x-icon"
    />

<base>

<!--规定页面上所有链接的默认 URL 和默认目标 置于头部之内-->
<base href="..." target="_blank">

<style>

/*media属性:对两种不同媒介类型使用不同样式表*/
<style type="text/css" media="print">

<style type="text/css" media="screen and (max-height:700px)">

/*应用样式到元素的父元素及其子元素。*/
<style type="text/css" scoped>

MDN参考文档

Media Types文档参照

img、<map>、<area> 图像映射

<img src="planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap">

<map name="planetmap">
  <area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun">
  <area shape="circle" coords="90,58,3" href="mercur.htm" alt="Mercury">
  <area shape="circle" coords="124,58,8" href="venus.htm" alt="Venus">
</map>

<table>

属性表述属性表述
border显示框线bgcolor表格背景
cellspacing单元格之间的距离cellpadding单元格内容与其边框之间的空白

<ol>

<!--type:  a A i I 1 -->
<ol start="50" type="I" >
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ol>

iframe

<iframe loading="lazy" src="demo_iframe.htm" width="200" height="200" frameborder="0" scrolling="auto">
</iframe>

HTML5

HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。 HTML5的设计目的是为了在移动设备上支持多媒体。

<canvas>

<!--画布 -->
<canvas id="myCanvas" width="200" height="100"></canvas>

canvas基本了解

表单属性

  • required : 必填
  • placeholder : 提示
  • autofocus : 自动聚焦
  • autocomplete : 自动填充 on/off
  • formaction : 表单提交的URL地址.覆盖form的action属性 与type="submit"配合使用
  • formenctype : 提交到服务器的数据编码 与type="submit"配合使用 “ multipart/form-data ”

全局属性

  • hidden : 隐藏
  • contenteditable : 元素是否可编辑
  • accesskey : 配合Alt实现快捷访问超链接

CSS/CSS3

<link>引入和@import引入差别

  1. 本质的差别:link 属于 XHTML 标签,而 @import 完全是 CSS 提供的一种方式。

  2. 加载顺序的差别: 当一个页面被加载的时候(就是被浏览者浏览的时候) ,link 引用的 CSS 会同时被加载,而 @import 引用的 CSS 会等到页面全部被下载完再被加载。所以有时候浏览 @import 加载 CSS 的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。

  3. 兼容性的差别: @import 是 CSS2.1 提出的,所以老的浏览器不支持,@import 只有在 IE5 以上的才能识别,而 link 标签无此问题。

  4. 使用 dom(document o bject model文档对象模型 )控制样式时的差别:当使用 javascript 控制 dom 去改变样式的时候,只能使用 link 标签,因为@import 不是 dom 可以控制的。

文本

  • 对齐方式 : text-align

    • center : 居中
    • right : 居右
    • justify : 两端对齐
  • 文本修饰 : text-decoration: text-decoration-line text-decoration-color text-decoration-style

    • overline : 上划线 red dotted/wavy
    • line-through : 管穿线 red dotted/wavy
    • underline : 下划线 red dotted/wavy *
  • 文本转换 : text-transform

    • uppercase : 大写
    • lowercase : 小写
    • capitalize : 首字母大写
  • 段落中的文本换行 : white-space

    • normal : 默认。空白会被浏览器忽略。
    • nowrap : 文本不会换行,文本会在在同一行上继续,直到遇到 br 标签为止。
    • inherit : 规定应该从父元素继承 white-space 属性的值。
    • pre : 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
    • pre-wrap : 保留空白符序列,但是正常地进行换行。
    • pre-line : 合并空白符序列,但是保留换行符。
  • 单词、汉字间隔 : word-spacing

  • 字母、汉字 : letter-spacing

  • 文本方向 : direction : rtl

  • 设置元素的垂直对齐 : vertical-align

描述
baseline默认。元素放置在父元素的基线上。
sub垂直对齐文本的下标。
super垂直对齐文本的上标
top把元素的顶端与行中最高元素的顶端对齐
text-top把元素的顶端与父元素字体的顶端对齐
middle把此元素放置在父元素的中部。
bottom使元素及其后代元素的底部与整行的底部对齐。
text-bottom把元素的底端与父元素字体的底端对齐。
length将元素升高或降低指定的高度,可以是负数。
%使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。
inherit规定应该从父元素继承 vertical-align 属性的值。
  • 边框合并 : border-collapse:collapse;

  • 隐藏元素 : visibility:hidden

  • 控制内容溢出元素框时显示的方式 : overflow

  • visible : 默认值。内容不会被修剪,会呈现在元素框之外。

  • hidden : 内容会被修剪,并且其余内容是不可见的。

  • scroll : 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。

  • auto : 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

  • inherit : 规定应该从父元素继承 overflow 属性的值。

  • 文本溢出显示 : text-overflow

    • ellipsis : 显示省略符号 ... 来代表被修剪的文本
    • clip : 剪切文本
    • string : 使用给定的字符串来代表被修剪的文本
  • 允许长的内容可以自动换行 : word-wrap:break-word ;

  • 元素的总高度和宽度包含内边距和边框 : box-sizing: border-box;

  • box-shadow: h-shadow/水平阴影位置 v-shadow/垂直阴影位置 blur/模糊距离 spread/阴影大小 color/颜色 inset;

标注内容

  • mediatype : all/全部 ; print/打印机,screen/用于电脑屏幕,平板,智能手机等,speech/用于屏幕阅读器
  • not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。
  • only: 用来定某种特别的媒体类型。
  • all: 所有设备,这个应该经常看到。
  • and :and 操作符用于将多个媒体查询规则组合成单条媒体查询,

多媒体查询

1. 在<style>中使用
/* 多媒体查询语法 */
@media not|only mediatype and (mediafeature and|or|not mediafeature) {
    CSS 代码...;
}

/* 代码一 */
@media screen and (max-width: 600px) {
  div.example {
    display: none;
  }
}

/* 代码二 */
@media screen and (max-width: 699px) and (min-width: 520px) {
    ul li a {
        padding-left: 30px;
        background: url(email-icon.png) left center no-repeat;
    }

    ul li a:before {
        content: "Email: ";
        font-style: italic;
        color: #666666;
    }
}

/* 代码三 */
@media screen and (max-width: 699px) and (min-width: 520px), (min-width: 1151px) {
    ul li a {
        padding-left: 30px;
        background: url(email-icon.png) left center no-repeat;
    }
}
2. 在<link>中使用
<!-- 多媒体查询语法 -->
<link rel="stylesheet" media="mediatype and|not|only (expressions)" href="print.css">

<!-- 代码 -->
<link rel="stylesheet" media="screen and (min-width:300px)" href="print.css">
3. 在@import中使用
/* 多媒体查询语法 */
@import url('landscape.css') screen and (orientation:landscape);

/* 代码 */
@import url('landscape.css') only screen and (min-width:400px);

JavaScript

标签

可以为代码块设置标签,使用break跳出指定代码框

cars=["BMW","Volvo","Saab","Ford"];
list: 
{
    document.write(cars[0] + "<br>"); 
    document.write(cars[1] + "<br>"); 
    document.write(cars[2] + "<br>"); 
    break list;
    document.write(cars[3] + "<br>"); 
    document.write(cars[4] + "<br>"); 
    document.write(cars[5] + "<br>"); 
}

this

all() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。 两者的区别在于第二个参数: apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始)。

JavaScript 静态方法

class Runoob {
  constructor(name) {
    this.name = name;
  }
  static hello() {
    return "Hello!!";
  }
}
 
let noob = new Runoob("菜鸟教程");
 
// 可以在类中调用 'hello()' 方法
document.getElementById("demo").innerHTML = Runoob.hello();
 
// 不能通过实例化后的对象调用静态方法
// document.getElementById("demo").innerHTML = noob.hello();
// 以上代码会报错