发表于: 2018-10-26 00:29:09

2 1137


【今天完成的事】

1. 看了DOM编程艺术,书比较古老,但是对新手来说特别友好,比廖雪峰的教程好玩,已看了一半,预计明天可看完。

2. 看了JS的基础。

【收获】

学了不少东西,做了不少笔记,收获挺大。

1. js概念性部分

2. 类型转换

//其他类型转数字类型: 三种类型

/*1. parseInt()转整数*/

console.log(parseInt("10")); //10

console.log(parseInt("10a")); //10

console.log(parseInt("g10")); //NaN

console.log(parseInt("1fsd10")); //1

console.log(parseInt("10.98")); //10

console.log(parseInt("10.98sddfff")); //10

/*2. parseFloat() 转小数*/

console.log(parseFloat("10")); //10

console.log(parseFloat("10a")); //10

console.log(parseFloat("g10")); //NaN

console.log(parseFloat("1fsd10")); //1

console.log(parseFloat("10.98")); //10.98

console.log(parseFloat("10.98sddfff")); //10.98

/*3.Number 转数字方式比较严格*/

console.log(Number("10")); //10

console.log(Number("10a")); //NaN

console.log(Number("g10")); //NaN

console.log(Number("1fsd10")); //NaN

console.log(Number("10.98")); //10

console.log(Number("10.98sddfff")); //NaN

//其他类型转字符串类型

/*1. 变量名.toString();*/

var num = 10;

console.log(num.toString());

/*2.String(变量名);*/

var num1 = 20;

console.log(String(num1));

/*区别: 如果变量有意义,调用.toString()转换,

       如果变量没有意义,调用String()转换。*/

var num2;

/*console.log(num2.toString());*/  //报错

console.log(String(num2));  //undefined

//其他类型转布尔类型

/*1. Boolean(值);*/

console.log(Boolean(1));   //true

console.log(Boolean(0));    //false

console.log(Boolean(11));    //true

console.log(Boolean(-10));   //true

console.log(Boolean("哈哈哈")); //true

console.log(Boolean(""));  //false

console.log(Boolean(null));  //false

console.log(Boolean(undefined)); //false

console.log(Boolean(true));   //true

console.log(Boolean(false));   //false

console.log(Boolean("true"));  //true

console.log(Boolean("false")); //true

console.log(Boolean(True));  //报错

console.log(Boolean(False)); //报错

3. 操作符

笔记都比较简单,不贴了。

3. 输入框事件监听

当输入框的值发生变化时可以通过不同的方法观察到其中的变动,例如keydown,keyup,input,onchange, blur,这些方法的应用时机不一样,应用场景也不一样。

例子:

<input type="text" id="username">

JS代码如下:

控制台输出内容如下:

avatar
从上面的输出结果我们可以得出如下结论:

  1. keydown事件发生时,输入值没有任何变化,因为keydown事件不会将当前的键值计入到输入框中,所以此事件可以用来阻止某些输入字符的显示。
  2. input事件发生时,无法获取keyCode值,但是它能及时获得用户输入的内容,它在keydown和keyup事件之间发生。
  3. keyup事件相对比较全能,不仅能及时获知用户输入的值,还能获取keyCode值,在input事件后发生,也表示一次键盘敲入事件最终完成。
  4. change事件发生在输入事件完成后,输入框失去焦点之前,能获取用户最终输入的值。但如果用户没有任何输入,或者输入后的值与原值一样,change事件不会被触发,但是blur事件会被触发。
  5. blur事件与change事件表现的十分相像,输入结束后离开输入框会先后触发change和blur.
  6. 输入框发生的顺序是:

    focus ===> keydown ===> input ===> keyup(至此,键盘输入事件完成) ===> change ===>blur

注意:
1.如果是中文输入的话,keydown事件监听到的keyCode值全为229,失去了参考意义。
2.如果输入速度比较快,keyup事件可能不会及时触发,但终将会触发,会有延迟,所有会出现keyup事件连续触发的情形。

如下图所示:
avatar

4.其他零碎的东西略过。

【明天计划的事】

继续看JS

【问题】

今天没怎么输出,暂无问题。


返回列表 返回列表
评论

    分享到