zoukankan      html  css  js  c++  java
  • javascript基础教程(1)

    在看《JavaScript基础教程(第9版)》,敲敲笔记,另外补充补充自己的理解,看两三章就写成一篇。

    脚本放在哪里?

    建议放在之前,由于js是单线程加载执行,如果放在之间,那么可能在加载执行js的时候会出现页面短暂空白的现象。

    补充说明一下,css最好放在之间,这样能避免页面的样式没有加载完成,出现页面短暂混乱的现象。

    PS:这个和浏览器渲染执行机制有关,上面只是大概说说,还有更好地解释,我现在还不知道,日后补上。

    var的作用

    众所周知,当我们声明一个变量时就会用到var。

    var a的意思就是检测目前的作用域中是否有a这个变量,如果没有就创建,有就什么都不做。

    举个例子,定义一个函数:

    var a = 'window';
    
    function fn(a){
        var a;
        console.log(a)                
    }
    
    fn(a);   //window
    

    函数执行控制台打印出’window’,可见,函数里var检测到了函数作用域中存在了a,所以并没有做任何事情。

    一些人误以为 var a 在声明变量a的同时会将a赋值为undefined。

    将一个链接节点赋值给window.location

    <a id="a" href="test.html" target="">链接文字</a>
    
    <script>
        oA = document.getElementById('a');
    
        console.log(oA.toString())          //http://localhost/test.html
        console.log(typeof oA.toString())   //string
    
        window.location = oA   //页面跳转到test.html页面
    </script>

    防止switch语句贯穿

    var i = 3;
    
    switch (i) {
        case 1:
            //do something
            break;
        case 2:
            //do something
            break;
        default:
            //do something
            break;
    }

    switch语句中的case你要理解成一个入口,例如在代码中,i如果为1,那么就从 ‘case 1:’ 后面的语句开始执行,如果没有break跳出代码,那么会继续往下执行。所以有时可以像下面这样合并情况:

    var i = 3;
    
    switch (i) {
        case 1:   //case 1:后面没有break,所以当i == 1时,也会继续往下执行case 2的语句
        case 2:
            //do something
            break;
        default:
            //do something
            break;
    }

    这篇就写这几点,大神们勿喷,哈哈。

    欢迎访问我的个人网站:点击进入

  • 相关阅读:
    C#中DateTime.Ticks属性及Unix时间戳转换
    SQL Server:统计数据库中每张表的大小
    SQL Server:统计数据库中每张表的大小
    SQL Server:统计数据库中每张表的大小
    SQL Server 2008 R2:快速清除日志文件的方法
    SQL Server 2008 R2:快速清除日志文件的方法
    SQL Server 2008 R2:快速清除日志文件的方法
    ACM_HDU 1231 最大连续子序列 (dp)_代码分析
    斑马难题Step by Step
    多种配置的分布式配置中心
  • 原文地址:https://www.cnblogs.com/kang-xjtu/p/5800938.html
Copyright © 2011-2022 走看看