[关闭]
@fantaghiro 2014-12-23T09:04:32.000000Z 字数 2293 阅读 1684

妙味课堂-真的了解JS吗

学习笔记 js 前端 妙味课堂


定时器

  1. //定时器的三个参数:第一个是函数;第二个时间(毫秒);第三个是函数的回调参数
  2. setTimeout(function(num){
  3. alert(num);
  4. }, 1000, 123)

拼接字符串

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>真的了解JS吗</title>
  6. <script>
  7. window.onload = function(){
  8. /*document.body.innerHTML =
  9. '<div>div</div>' +
  10. '<span>span</span>' +
  11. '<p>p</p>' +
  12. '5555';*/
  13. //通过反斜杠,完成字符串换行拼接
  14. document.body.innerHTML =
  15. '<div>div</div>\
  16. <span>span</span>\
  17. <p>p</p>\
  18. 5555';
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. </body>
  24. </html>

console.log

  1. var a = 'hello';
  2. console.log(a);
  3. //添加样式
  4. console.log('%c'+a, 'font-size:400%; background: blue; color: white;')

typeof

  1. //typeof instanceof in 除了空格以外,还可以用小括号的形式
  2. var arr = [];
  3. arr.num = 10;
  4. //alert(typeof arr);
  5. //alert(typeof(arr));
  6. //instanceof
  7. //alert(arr instanceof Object);
  8. //alert(arr instanceof(Object));
  9. //in
  10. //alert('num' in arr);
  11. alert('num' in(arr));

嵌套for循环

  1. /*for(var i=0; i<5; i++){
  2. for(var j=0; j<1; j++){
  3. if(i == 3){
  4. break; //break只跳出当前循环
  5. }
  6. alert(i); //弹出0, 1, 2, 4
  7. }
  8. }*/
  9. a : for(var i=0; i<5; i++){
  10. for(var j=0; j<1; j++){
  11. if(i == 3){
  12. break a; //给循环起个名字,在break后面加上这个名字,就能跳出这个循环
  13. }
  14. alert(i); //弹出0, 1, 2
  15. }
  16. }

for(;;)

  1. /*for(var i=0; i<5; i++){
  2. alert(i);
  3. }*/
  4. /*var i = 0;
  5. for(; i<5; i++){
  6. alert(i);
  7. }*/
  8. var i=0;
  9. for(;;){
  10. alert(i);
  11. if(++i >= 5){
  12. break;
  13. }
  14. }

call

  1. var obj = {
  2. aaa : function(){
  3. alert(this);
  4. }
  5. };
  6. var arr = [1,2,3];
  7. obj.aaa.call(arr); //1, 2, 3
  8. obj.aaa.call(window); //window
  9. obj.aaa.call(); //call里面什么也不写,默认是window
  10. //apply()也是一样,当不写参数的时候,也是指向window

insertBefore

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>真的了解JS吗</title>
  6. <script>
  7. window.onload = function(){
  8. var oInput = document.getElementById('input1');
  9. var oUl = document.getElementById('ul1');
  10. var iNow = 0;
  11. var aLi = oUl.getElementsByTagName('li');
  12. oInput.onclick = function(){
  13. var oLi = document.createElement('li');
  14. oLi.innerHTML = iNow++;
  15. // oUl.appendChild(oLi);
  16. /*if(!aLi.length){
  17. oUl.appendChild(oLi);
  18. } else {
  19. oUl.insertBefore(oLi, aLi[0]);
  20. }*/
  21. oUl.insertBefore(oLi, aLi[0]);
  22. //insertBefore如果第二个参数为空的话,其实效果与appendChild是一样的
  23. }
  24. }
  25. </script>
  26. </head>
  27. <body>
  28. <input type="button" value="添加" id="input1">
  29. <ul id="ul1"></ul>
  30. </body>
  31. </html>

匿名函数自执行

  1. /*(function(){
  2. alert(123);
  3. })(); //匿名函数自执行*/
  4. !function(){ //如果不把function括起来,在function前面添加位运算符(如~或!)也可以起到同样效果
  5. alert(123);
  6. }()
  7. ~function(){ //如果不把function括起来,在function前面添加位运算符(如~或!)也可以起到同样效果
  8. alert(123);
  9. }()
  10. +function(){ //如果不把function括起来,在function前面添加位运算符(如~或!)也可以起到同样效果
  11. alert(123);
  12. }()

创建对象

  1. function Aaa(){
  2. }
  3. //var a1 = new Aaa();
  4. var a1 = new Aaa; //在js中,创建对象时是可以省略这个小括号的,系统对象也是如此
  5. alert(a1);
  6. var arr = new Array;
  7. alert(arr.length);
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注