jquery模糊选择器
js中isNaN、null、undefined的区别
正则表达式‘?’
checkbox使用javascript获取、禁用
禁止浏览器的前进后退按钮
js作用域

jquery模糊选择器

  • 选择以a开头的id的节点
    未使用过,以为和正则表达式一样使用$(‘a*’)。其实是错误的。正确的如下:

    $("[id^='a']")  //选择属性id的值以字符a开始  
    
  • 其他模糊选择器

    $("[href$='.jpg']") //所有 href 属性的值包含以 ".jpg" 结尾的元素 
    $("div[id*='aa']"); //id中包含aa的所有div的jquery对象   
    

js中isNaN、null、undefined的区别

  • isNaN
    函数,检查某个值是否是数字。
  • NaN
    当运算无法返回正确的数值时,就会返回“NaN”值。NaN 值非常特殊,因为它“不是数字”,所以任何数跟它都不相等,甚至 NaN 本身也不等于 NaN 。
    parseFloat 和 parseInt 函数将在计算并不是数值的值时返回“NaN”。
  • null
    null 是 JavaScript 保留关键字。
    null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:
    表达式:123 + null    结果值:123
    表达式:123 * null    结果值:0

    typeof null === 'object'    //true
    null == undefined   //true
    null === undefined  //false  
    
  • undefined
    undefined是全局对象(window)的一个特殊属性,其值是未定义的。
    1
    2
    3
    4
    5
    var test;
    console.log(test); //undefined
    console.log(typeof test); // undefined
    console.log(test1); //报错,未声明
    console.log(typeof test1); // undefined

当我们在程序中使用undefined值时,实际上使用的是window对象的undefined属性。
同样,当我们定义一个变量但未赋予其初始值,例如:
var aValue;
这时,JavaScript在所谓的预编译时会将其初始值设置为对window.undefined属性的引用。
于是,当我们将一个变量或值与undefined比较时,实际上是与window对象的undefined属性比较。这个比较过程中,JavaScript会搜索window对象名叫’undefined’的属性,然后再比较两个操作数的引用指针是否相同。
由于window对象的属性值是非常多的,在每一次与undefined的比较中,搜索window对象的undefined属性都会花费时 间。在需要频繁与undefined进行比较的函数中,这可能会是一个性能问题点。因此,在这种情况下,我们可以自行定义一个局部的undefined变 量,来加快对undefined的比较速度。

正则表达试中的’?’

我的回答是:匹配0次或一次
面试官却说是0次或多次
查询结果是:

'?' : 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \\?。  

'*' : 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用\\\*

checkbox使用javascript获取、禁用

  • 禁用
    设置属性 disabled = true;
  • 获取
    获取 checked属性

禁止浏览器的前进后退按钮

window.history.forward(1); 

阻止后退到当前页面

js作用域

1
2
3
4
5
6
7
8
9
10
var a = 10;
function fn(){
a = 100;
console.log(a);
console.log(this.a);
var a;
console.log(a);
}

fn();

1
2
3
4
5
6
7
8
9
var a = 10;
function fn(){
console.log(a);
console.log(this.a);
var a=1000;
console.log(a);
}

fn();

本文地址: http://gehaiqing.com/2016/07/26/interview-exp-3/