在前端开发中,经常会遇到获取URL的相关数据,下面将总结下使用JavaScript来获取url地址的协议,参数,端口号,锚点等方法。
var href = window.location.href;
console.log(href);//输出完整的url地址
var protocol = window.location.protocol;
console.log(protocol);//获取url协议部分,如http:,https:
var hostname = window.location.hostname;
console.log(hostname);//获取主机部分(不带端口号),输出如:fly63.com
var port = window.location.port;
console.log(port);// //获取端口号,如:8000。没带端口的输出空字符
var pathname = window.location.pathname;
console.log(pathname);//输出url部分路径,如:/article/detial/201
var hash = window.location.hash;
console.log(hash);//输出锚点(url第一个#及后面所有字符串),如:#name
var search = window.location.search;
console.log(search);//参数部分
如果地址:http://www.fly63.com/?a=1&b=2#hash,获取的参数部分为:?a=1&b=2。通过它我们可以去获取url下的具体参数,具体方法请参考:js通过3种方法获取url的参数
给外部引用的js文件传递参数的4种方式:定义全局变量、在src后面传参、检索js文件(js文件要最后引入)、设置其他属性
通过访问arguments对象的length属性可以获取有多少个参数传递给了函数。在封装函数的时候,会携带不同的参数,我们想要获取指定的参数,可以通过 arguments[ ] 来拿到,arguments对象可以与命名参数一起使用。arguments的值要永远与对应命名参数的值保持同步
URLSearchParams 接口定义了一些实用的方法来处理 URL 的查询字符串。URLSearchParams()是个构造函数,将返回一个可以操作查询字符串的对象。
ECMAscript中所有函数的参数都是按值传递,也就是,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。js始终是按值传递,在这里称他为共享传递。