1.

function a() {
console.log(this);
}
a.call(null);

window

如果第一个参数传入的对象调用者是null或者undefined的话,call方法将把全局对象(也就是window)作为this的值。所以,不管你什么时候传入null,其this都是全局对象window,

所以该题目可以理解成如下代码:

function a() {
console.log(this);
}
a.call(window);

获取地址栏参数,并将其转换成一个对象

function getArgs() {
var args = new Object();
var query = location.search.substring();
query = query.replace(/\+/g, " ");
var pairs = query.split("&"); // Break at ampersand
for (var i = ; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); // Look for "name=value"
if (pos == -) continue; // If not found, skip
var argname = pairs[i].substring(, pos); // Extract the name
var value = pairs[i].substring(pos + ); // Extract the value
value = decodeURIComponent(value); // Decode it, if needed
args[argname] = value; // Store as a property
}
return args;
}
var data=getArgs();

一个地址获取域名数组

var getHost = function (url) {
var prev = "";
var result = [];
var index = url.indexOf('https');
if (index > -) { url = url.replace("https://", ""); prev = "https://"; }
var index2 = url.indexOf("http");
if (index2 > -) { url = url.replace("http://", ""); prev = "http://"; }
var index3 = url.indexOf('/');
var host = url.substring(, index3);
result.push(host);
result.push(prev + host);
return result;
}

var url="https://pgw.grapay.net/Test/index.htm";

var result=getHost(url);

result[0]:pgw.grapay.net

result[1]:https://pgw.grapay.net

3.方法的声明

        console.log(add);
function add(x) { return x + ; }
console.log(add);
function add(x) { return x + ; }
console.log(add); console.log(fun);
var fun = function (x) { return x + ; }
console.log(fun);
var fun = function (x) { return x + ; }
console.log(fun);

 function add(x) { return x + ; }
console.log(add());
function add(x) { return x + ; }
console.log(add()); var fun = function (x) { return x + ; }
console.log(fun());
var fun = function (x) { return x + ; }
console.log(fun());

可以看出这两种声明的不同

4.关于(,,,,,,)这样的返回结果

var f = (function f(){ return ""; }, function g(){ return ; })();
typeof f;
 "number"

逗号操作符的使用可以很混淆,但这段说明它的行为:
var x = (, , );
x; x的值是3,这表明,当你有一系列的组合在一起,并由逗号分隔的表达式,它们从左到右进行计算,但只有最后一个表达式的结果保存。由于同样的原因,这个问题可以改写为减少混乱: var f = (function g(){ return ; })();
typeof f; 关于逗号表达式:
原文:
http://www.2ality.com/2012/09/expressions-vs-statements.html
译文:
http://www.cnblogs.com/ziyunfei/archive/2012/09/16/2687589.html

5.delete

http://www.cnblogs.com/aaronjs/p/3172112.html#2832944

JavaScript 获取地址栏参数的更多相关文章

  1. javascript获取地址栏参数的方法

    javascript获取地址栏参数的方法<pre>function GetQueryString(name){ var reg = new RegExp("(^|&)&q ...

  2. 用JavaScript获取地址栏参数的方法

    /** * 获取地址栏参数 * * @example GetUrlString('id') * * @desc 调用时加上判断,保证程序不会出错 * var myurl = GetUrlString( ...

  3. javascript获取地址栏参数

    http://gzycm520.blog.51cto.com/175220/71030方法一: <script type="text/javascript"> < ...

  4. js,javascript,获取地址栏参数

    function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*) ...

  5. javascript获取地址栏参数/值

    //URL: http://www.example.com/?var1=val1&var2=val2=val3&test=3&test=43&aaa=#2 //wind ...

  6. JavaScript获取地址栏中的参数

    JavaScript获取地址栏中的参数 1.获取地址栏中的参数 (1)若地址栏中的地址是: http://10.124.36.56:8080/CMOD/index.jsp?name=you&p ...

  7. JavaScript三种方法获取地址栏参数的方法

    今天碰到要在一个页面获取另外一个页面url传过来的参数,一开始很本能的想到了用 split(“?”)这样一步步的分解出需要的参数. 后来想了一下,肯定会有更加简单的方法的!所以在网上找到了两个很又简单 ...

  8. 用JS获取地址栏参数的方法(超级简单)

    方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) {      var reg = new RegExp("( ...

  9. 【功能代码】---4用JS获取地址栏参数方法

    用JS获取地址栏参数方法 // 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new Reg ...

随机推荐

  1. Python开发【笔记】:python程序添加到systemctl系统服务

    systemctl系统服务 环境:centos7 systemctl服务使用详解 实现 正常情况下我们在/usr/lib/systemd/system/目录下,创建一个以.service 后缀的文件, ...

  2. CF1044B Intersecting Subtrees 构造+树论

    正解:构造 解题报告: 传送门 又是一道交互题!爱了爱了! 这题真的,极妙!非常神仙!就非常非常思维题! 直接说解法了吼 说起来实在是简单鸭 就是先问一个对方的联通块中的一个点在我这儿的编号,记为x ...

  3. mysql 数据操作 多表查询 多表连接查询 外链接之左连接 右连接

    1.外链接之左连接:优先显示左表全部记录   left join 在内连接的基础上保留左表的记录 即便左表有一条记录和右表没有关系,也把他留下 mysql> select * from empl ...

  4. 【Cocos2dx 3.3 Lua】触屏事件

    cocos2dx 3.x触屏时间分为单点触摸和多点触摸:     单点触摸:(即只有注册的Layer才能接收触摸事件)      多点触摸点单用法(多个Layer获取屏幕事件):           ...

  5. [LeetCode] questions conclusion_ Dynamic Programming

    Questions: [LeetCode] 198. House Robber _Easy tag: Dynamic Programming [LeetCode] 221. Maximal Squar ...

  6. 转载一篇debug文章

    http://versprite.com/og/ios-reverse-engineering-part-two-debugging-and-tracing-with-lldb/ iOS Revers ...

  7. keras搭建密集连接网络/卷积网络/循环网络

    输入模式与网络架构间的对应关系: 向量数据:密集连接网络(Dense层) 图像数据:二维卷积神经网络 声音数据(比如波形):一维卷积神经网络(首选)或循环神经网络 文本数据:一维卷积神经网络(首选)或 ...

  8. react native android 编译

    修改 Maven 仓库地址 React Native 在初始化时会从 jcenter.binary.com 这个地方下载一些东西,网上搜索了一下,好像是在下载 Maven 相关的依赖. 针对全局进行修 ...

  9. svg绘图工具raphael.js的使用

    1.raphael.js svg画图的开源库,支持IE8+ 官方api: http://dmitrybaranovskiy.github.io/raphael/reference.html Githu ...

  10. 把 ElasticSearch 当成是 NoSQL 数据库

    Elasticsearch 可以被当成一个 “NoSQL”-数据库来使用么? NoSQL 意味着在不同的环境下存在不同的东西, 而erestingly 它并不是真的跟 SQL 有啥关系. 我们开始只会 ...