【叔小生】JavaScript进阶篇

如何插入JS
JS基础语法
语法、函数、方法
提取字符串substring()
substring() 方法用于提取字符串中介于两个指定下标之间的字符。





string对象





image.png

使用 substring() 从字符串中提取字符串,代码如下:


运行结果:

JavaScript
love

提取指定数目的字符substr()

substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。

使用 substr() 从字符串中提取一些字符,代码如下:


运行结果:

JavaScript!
love

Math对象
Math对象,提供对数据的数学计算。

使用 Math 的属性和方法,代码如下:


运行结果:

3.141592653589793
15

abs(x)
返回数的绝对值

Math 对象方法

image

向上取整ceil()
ceil() 方法可对一个数进行向上取整。

语法:

Math.ceil(x)




Math 





image.png

运行结果:

1
7
5
4
-5
-5

向下取整floor()
floor() 方法可对一个数进行向下取整。


运行结果:

0
6
5
3
-6
-6




Math 





四舍五入round()
round() 方法可把一个数字四舍五入为最接近的整数。

语法:

Math.round(x)

运行结果:

2
3
0
-6
-7

随机数 random()
random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。

语法:

Math.random();

返回一个大于或等于 0 但小于 1 的符号为正的数字值。

取得介于 0 到 1 之间的一个随机数,代码如下:


运行结果:

0.190305486195328  

获得0 ~ 10之间的随机数,代码如下:


运行结果:

8.72153625893887




Math 





Array 数组对象
数组方法
concat()
连接两个或更多的数组,并返回结果

join()
把数组的所有元素放入一个字符串

pop()
删除并返回数组的最后一个元素

push()
向数组的末尾添加一个或更多元素,并返回新的长度

reverse()
颠倒数组中元素的顺序

shift()
删除并返回数组的第一个元素

slice()
从某个已有的数组返回选定的元素

sort()
对数组的元素进行排序

splice()
删除元素,并向数组添加新元素

toSource()
返回该对象的源代码

toString()
把数组转换为字符串,并返回结果

toLocaleString()
把数组转换为本地数组,并返回结果

unshift()
向数组的开头添加一个或更多元素,并返回新的长度

valueOf()
返回数组对象的原始值

数组连接concat()
concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。


运行结果:

1,2,3,4,5
1,2,3

运行结果:

hello!,I,love,JavaScript,!




Array对象 





指定分隔符连接数组元素join()
join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

语法:

arrayObject.join(分隔符)




Array对象 





颠倒数组元素顺序reverse()
reverse() 方法用于颠倒数组中元素的顺序。

定义数组myarr并赋值,然后颠倒其元素的顺序:


运行结果:

1,2,3
3,2,1

选定元素slice()
slice() 方法可从已有的数组中返回选定的元素。

语法

arrayObject.slice(start,end)

可使用负值从数组的尾部选取元素。

String.slice() 与 Array.slice() 相似


运行结果:

1,2,3,4,5,6
3,4
1,2,3,4,5,6




Array对象 





image.png

数组排序sort()
sort()方法使数组中的元素按照一定的顺序排列。

语法:

arrayObject.sort(方法函数)

运行结果:

80,16,50,6,100,1
1,6,16,50,80,100

parseInt() 字符串类型转成整型。





系好安全带,准备启航






window对象
window对象是BOM的核心,window对象指当前的浏览器窗口。

alert()
显示带有一段消息和一个确认按钮的警告框

prompt()
显示可提示用户输入的对话框

confirm()
显示带有一段消息以及确认按钮和取消按钮的对话框

open()
打开一个新的流里流气窗口或查找一个已命名的窗口

close()
关闭浏览器窗口

print()
打印当前窗口的内容

focus()
把键盘焦点给予一个窗口

blur()
把键盘焦点从顶层窗口移开

一次性计时器:仅在指定的延迟时间之后触发一次。
间隔性触发计时器:每隔一定的时间间隔就触发一次。

setTimeout()
指定的延迟时间之后来执行代码

clearTimeout()
取消setTimeout()设置

setInterval()
每隔指定时间执行代码

clearInterval()
取消setInterval()设置

计时器setTimeout()
setTimeout()计时器,在载入后延迟指定时间后,去执行一次表达式,仅执行一次。
语法:
setTimeout(代码,延迟时间);





计时器







计时器




  

History 对象
history对象记录了用户曾经浏览过的页面(URL),并可以实现浏览器前进与后退相似导航的功能。

History 对象属性
length 返回浏览器历史列表中的url数量

History 对象方法

back() 加载history列表中的前一个url

forward() 加载history列表中的下一个url

go() 加载history列表中的某个具体的页面


返回前一个浏览的页面
back()方法,加载 history 列表中的前一个 URL。

语法:

window.history.back();

back()相当于go(-1),代码如下:

window.history.go(-1);

返回下一个浏览的页面

window.history.forward();

window.history.go(1);

Location对象
location用于获取或设置窗体的URL,并且可以用于解析URL。

location 对象属性:
hash
设置或返回从井号开始的url
host
设置或返回主机名和当前url的端口号
hostname
设置或返回当前url的主机名

href
设置或返回完整的url
pathname
设置或返回当前url的路径部分

port
设置或返回当前url的端口号
protocol
设置或返回当前url的协议

location 对象方法:
assign()
加载新的文档
reload()
重新加载当前文档
replace()
用新的文档替换当前文档

Navigator对象
Navigator 对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。

对象属性:

appCodeName
浏览器代码名的字符串表示

appName
返回浏览器的名称

appVersion
返回浏览器的平台和版本信息

platform
返回运行浏览器的操作系统平台

userAgent
返回由客户机发送服务器的user-agent头部的值





navigator



  

screen对象
screen对象用于获取用户的屏幕信息。

语法:

window.screen.属性

availHeight
窗口可以使用的屏幕高度
availWidth
窗口可以使用的屏幕宽度

colorDepth
用户浏览器表示的颜色位数
pixelDepth
用户浏览器表示的颜色位数
height
屏幕的高度
width
屏幕的宽度

屏幕分辨率的高和宽
window.screen 对象包含有关用户屏幕的信息。

  1. screen.height 返回屏幕分辨率的高
  2. screen.width 返回屏幕分辨率的宽

屏幕可用高和宽度

  1. screen.availWidth 属性返回访问者屏幕的宽度,以像素计,减去界面特性,比如任务栏。

  2. screen.availHeight 属性返回访问者屏幕的高度,以像素计,减去界面特性,比如任务栏。



 
  浏览器对象  
     
 
 
  
  

操作成功

5 秒后回到主页 返回

节点属性:
nodeName:
返回一个字符串,其内容是给定节点的名字

nodeType:
返回一个整数,这个数值代表给定节点的类型

nodeValue:
返回给节点的当前值

遍历节点树:
childNodes
返回一个数组

firstChild
返回第一个子节点

lastChild
返回最后一个节点

parentNode
返回一个给定节点的父节点

nextSibling
返回给定节点的下一个子节点

previousSibling
返回给定节点的上一个子节点

createElement(element)
创建一个新的元素节点

createTextNode()
创建一个包含着给定文本的新文本节点

appendChild()
指定节点的最后一个子节点列表之后添加一个新的子节点

insertBefore()
将一个给定节点插入到一个给定元素节点的给定子节点的前面

removeChild()
从一个给定元素中删除一个子节点

replaceChild()
把一个给定父元素里的一个子节点替换为另外一个节点

getElementsByName()方法
返回带有指定名称的节点对象的集合。

getElementsByTagName()方法
返回带有指定标签名的节点对象的集合。

区别getElementByID,getElementsByName,getElementsByTagName


image.png


    
        
        无标题文档
        
    
        
请选择你爱好:
音乐 登山 游泳 阅读 打球 跑步

请输入您要选择爱好的序号,序号为1-6:

getAttribute()方法
通过元素节点的属性名称获取属性的值。

使用getElementById()、getElementsByTagName()等方法,获取到的元素节点。

getElementsByTagName();获取的是一个集合





getAttribute()

   

课程列表

  • HTML
  • CSS
  • JavaScript
  • Jquery
  • Html5

以下为获取的不为空的li标签title值:

setAttribute()方法
setAttribute() 方法增加一个指定名称和值的新属性,或者把一个现有的属性设定为指定的值。

在文档对象模型 (DOM) 中,每个节点都是一个对象。

nodeName : 节点的名称
nodeValue :节点的值
nodeType :节点的类型





节点属性


  
  • javascript
  • HTML/CSS
  • jQuery

访问子节点childNodes

访问子节点的第一和最后项
node.firstChild
node.lastChild

访问父节点parentNode
获取指定节点的父节点

访问兄弟节点
nodeObject.nextSibling

previousSibling 属性可返回某个节点之前紧跟的节点

插入节点appendChild()
在指定节点的最后一个子节点列表之后添加一个新的子节点。





无标题文档



  • JavaScript
  • HTML

插入节点insertBefore()
insertBefore() 方法可在已有的子节点前插入一个新的子节点。





无标题文档



  • JavaScript
  • HTML

删除节点removeChild()
removeChild() 方法从子节点列表中删除某个节点。如删除成功,此方法可返回被删除的节点,如失败,则返回 NULL。

function clearText() {
  var content=document.getElementById("content");
  for(var i=content.childNodes.length-1;i>=0;i--){
     var childNode = content.childNodes[i];
     content.removeChild(childNode);
  }
}

替换元素节点replaceChild()
replaceChild 实现子节点(对象)的替换。返回被替换对象的引用。

function replaceMessage(){
           var oldnode=document.getElementById("oldnode");
           var oldHTML= oldnode.innerHTML;           
           var newnode=document.createElement("i");         
           oldnode.parentNode.replaceChild(newnode,oldnode);
           newnode.innerHTML=oldHTML;
           
}  

创建元素节点createElement
createElement()方法可创建元素节点。此方法可返回一个 Element 对象。

创建文本节点createTextNode
createTextNode() 方法创建新的文本节点,返回新创建的 Text 节点。

 

浏览器窗口可视区域大小
• window.innerHeight - 浏览器窗口的内部高度

• window.innerWidth - 浏览器窗口的内部宽度

对于 Internet Explorer 8、7、6、5:

• document.documentElement.clientHeight表示HTML文档所在窗口的当前高度。

• document.documentElement.clientWidth表示HTML文档所在窗口的当前宽度。

Document对象的body属性对应HTML文档的标签

• document.body.clientHeight

• document.body.clientWidth










网页尺寸scrollHeight
scrollHeight和scrollWidth,获取网页内容高度和宽度。
scrollHeight 是网页内容实际高度,可以小于 clientHeight。
scrollHeight 是网页内容高度,不过最小值是 clientHeight。

    var h=document.documentElement.scrollHeight;
    var w=document.documentElement.scrollWidth;
    document.write(h,"
",w);

网页尺寸offsetHeight
offsetHeight和offsetWidth,获取网页内容高度和宽度(包括滚动条等边线,会随窗口的显示大小改变)。
offsetHeight = clientHeight + 滚动条 + 边框。
浏览器兼容性

var w= document.documentElement.offsetWidth

浏览器兼容性

var w= document.documentElement.offsetWidth
|| document.body.offsetWidth;
var h= document.documentElement.offsetHeight
|| document.body.offsetHeight;



 


 


网页卷去的距离与偏移量
scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离 ,即左边灰色的内容。

scrollTop:设置或获取位于对象最顶端与窗口中可见内容的最顶端之间的距离 ,即上边灰色的内容。

offsetLeft:获取指定对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 。

offsetTop:获取指定对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置 。







    
请调整横竖滚动条后,点击按钮后查看offsetTop、offsetLeft、scrollTop、scrollLeft值。
    结果:
  • offsetTop :
  • offsetLeft :
  • scrollTop :
  • scrollLeft :
image.png



    
    实践题 - 选项卡
    
    
 





  


标签tab


image.png

若本号内容有做得不到位的地方(比如:涉及版权或其他问题),请及时联系我们进行整改即可,会在第一时间进行处理。


请点赞!因为你们的赞同/鼓励是我写作的最大动力!

欢迎关注达叔小生的!

这是一个有质量,有态度的博客

博客

你可能感兴趣的:(【叔小生】JavaScript进阶篇)