JavaScript入门(一)

JavaScript入门

一、js如何使用

<script>

</script>

以上标签可以放在页面的任何位置,且可放多个。

1.页面内置js

    <script type="text/javascript">
        document.write("hello world!");
    </script>

2.外部js文件

    <script type="text/javascript" src="./demo.js">
        document.write("hello world!");
    </script>

在js文件夹下创建demo.js文件有以下内容

 document.write("hello world!");

对于两种方式的选择

  • 推荐使用第二中使用js的方式,因为在正常使用规范下,建议结构、行为、样式相分离,即html、js、css相分离。
  • 两种方式不能同时使用,否则会以第二种方式为准

二、JavaScript的基本语法

参考https://www.w3school.com.cn/js/index.asp,在此仅取几点介绍

规范代码格式

    <script>
        var a = 10,
            b = 20,
            c;
    </script>

变量

  • 在JavaScript中,var定义变量,变量的类型由其变量赋的值的类型决定。
原始类型
  • Number、String、Boolean、undefined、null

  • undefined只有一个值,未定义时会如此显示。

  • null 当变量定义后没有赋值的话,会以此占位。

引用类型
    var arr1 = [1,2];
    var arr2 = arr1;
    arr2.push(1);
    //此时 arr1 = [1,2,1]; arr2 = [1,2,1]

三、JavaScript错误以及响应

  1. 低级错误(语法解析错误)
  2. 逻辑错误
  • js语法错误会引发代码终止,但不会影响其他js代码块
  • 浏览器在加载某一JavaScript代码块(或者js文件)时,会先整体检查是否由语法错误,即如果存在1类型错误,则会直接报错,该JavaScript代码块(或者js文件)所有语句均不会被执行;此后,则会逐语句检查代码,如果存在2类型错误,则会在逻辑错误出终止,即会执行逻辑错误前语句,报错语句以及其后语句不会被执行。

四、JavaScript运算符

赋值的顺序,由右至左,计算的顺序,由左至右;
优先计算再复制,且排序的时候括号优先。

对于“+”

  1. 数字运算,字符串连接  
  2. 任何类型加上字符串最终结果都会变为字符串。

对于“/”

0/0 为NaN (Not A Number)
4/0 为Infinity (无限的)
-4/0 为-Infinity 
  • 赋值语句的优先级最低,()的优先级最高
  • NaN infinity 都为数字类型

逻辑运算符
逻辑运算符有

  • &&(与)
  • ||(或)
  • !

_其中undefine、null、""、false、0 会为假,其余均为假
对于与或运算符,会存在短路现象,例如

    // &&
    var a = 1&&6;                   //此时a的值会为6
    //⬆在这里对于如果第一个表达式为真,则会继续判断下一个表达式是否为假,如果下一个表达式后不存在下一个表达式,则以该值作为结果
    //依据该短路特性,可以将其作为if语句使用,例如
    1>2&&document.write("hello world");

    // ||
    var b = 0||8;                   //此时 b的值为0
    var b = 7||8;                   //此时 b的值为7
    //与&&相似但与&&机制规则差不多相反,也是具有短路特性,当第一个表达式为真则不会判断下一个表达式,该语句的值为第一个表达式的值,如果第一个为假.则会执行下一个.
    //应用
    var event= e||window.event;

五、循环语句

可参考https://www.w3school.com.cn/js/js_operators.asp

以下为几个涉及循环语句的题目

  1. 输入n,求2的n次方阶乘
    var n = parseInt(window.prompt('input'));
    var count = 1;
    while (n--) {
        count *= 2;
    }
    document.write("2的n次方为" + count);
  1. 输入n,求n!
    var n = parseInt(window.prompt('input'));
    //n的阶乘
    var jiecheng = 1;
    for (var i = 0; i < n; i++) {
        jiecheng = jiecheng * (i + 1);
    }
    document.write(jiecheng);
  1. 输入n,求斐波那契数列第n位
        // n 斐波那契数列
        var first = 1;
        var second = 1;
        var k;
        if (n == 1 && n == 2)
            k = first;
        for (var i = 3; i <= n; i++) {
            k = first + second;
            first = second;
            second = k;
        }
        document.write(k);
  1. 输入n,反向输出n.例如,输入数字123,反向输出321.
        //反向输出
        var s = 0;
        do {
            s = n % 10;
            n = n / 10;
            n = parseInt(n);    //与上一行代码,共同达到n的整除结果
            document.write(s);
        } while (n > 0);
  1. 求100以内质数
        for (var i = 2; i <= 100; i++) {
            var f = true;
            for (var j = 2; j < Math.sqrt(i); j++) {
                if (i % j == 0) {
                    j = 100;
                    f = false;
                }
            }
            if (f) {
                document.write(i + " ");
            }
        } 

六、附加:主流浏览器以及其内核

  • IE trident
  • Chrome webkit/blink
  • Firebox gecko
  • Opera presto
  • Safari webkit

以上,此为本人学习过程中的笔记,可能因为能力不足存在一些不足,还请大家多多包涵和给予建议,共同进步。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值