zoukankan      html  css  js  c++  java
  • JavaScript入门

    JavaScript是由浏览器执行的。js是基于对象和事件的脚本语言,主要应用在客户端,由浏览器来执行js代码。可以与用户执行信息交互。

      安全性,不允许访问本地硬盘。
      跨平台只要有一个支持js的浏览器即可。
      js也是一门编程语言,所以也具有编程语言的基本特性,比如:数据类型、变量、语句、函数、数组、对象等,但表现形式可能与c#不一样。
      什么是脚本:直接可以执行的代码(无需编译)
      导入外部js的好处:1.多个页面共享js代码,减少网络流量,方便后期维护、扩展。2.代码复用。
     
    使用js要注意的地方

           大小写敏感,js语言严格区分大小写。(n与N是两个不同的变量。)

      js中定义字符串可以使用“双引号”也可以使用“单引号”。推荐:html中使用“双引号”,js中使用“单引号”,避免后续可能发生的冲突。

        没有显示数据类型,声明变量都用var(variable缩写)关键字。所有变量都用var来声明。

      每条语句后用 “;” 来结尾(不是必须,但建议加上)。虽然语句结尾处不加“分号”也可以,

      原因有2:

               一、可以放心的做js压缩(压缩多余空白)。

               二、提高代码可读性、性能(省却了编译器加分号的步骤)、避免错误。

      var定义变量,在整个页面都有效。
      弱类型语言:支持“动态类型”。编译的时候不知道数据,在执行的时候才能知道变量类型
     注释
      单行注释://这里是注释代码【建议:对于代码推荐都用“单行注释”】
      块级注释:/* 这里是注释代码 */【建议:对于说明性文字使用“块级注释”】
      变量命名规则:以字母、下划线或$开头,中间可以包括字母、数字、下划线或$。
      执行顺序从上到下依次执行
      一个页面可以有多个js块,当js中只要有一点错就不执行。但不影响其他js块
     
    js中的数据类型

      undefined:使用var声明变量,但是未对初始化的,这个变量就是Undefined类型的

      Null:也只有一个值:null.null表示一个空对象的指针。

      Boolean:两个字面量true和false

      Number:包括整数和浮点数 NaN

        例如:1/0 返回的就是NaN。NaN的特点:1、任何涉及NaN的操作都会返回NaN。2、NaN对任何值都不相等,包括自己NaN本身。
          针对NaN特性,JS内置了isNaN()函数,来确定数值是不是NaN类型。
     String:自负串类型
     注意: null表示已知的值,表示一个空对象。undefined表示未定义
      判断一个对象是否可用
    iftypeof(v)!='undefined'&&v!=null)
    {
    可用
    }
    else{处理}
    常用判断:任何一个变量都可以放在if里,这里会把v转换为boolean再判断。空字符串,0,null NaN都是flase
    if(v){
    alert('可用');
    }
    else{
    alert('不可用');
    }
    ==与===
      ==判断的时候会先比较数据类型,只要存储的内容相同就认为相同,如果数据类型不同,则会把其中的值尝试转换为相同类型,如果不可以转,则返回flase
      ==认为null与undefined、null与null、undefined与undefined是相等的。
      ===全等于,首先判断数据类型是否一样,如果一样再判断值是否一样,如果数据类型不一样则直接返回flase,swith用的全等于;
    js变量
      在页面上直接声明的变量即为“全局变量”,此处的全局变量意思是说在整个当前页面中都能访问的变量“全局变量”默认都是属于window对象的成员。“全局变量”直到页面关闭或浏览器关闭才释放资源。
      全局变量在页面的每个<script>标签中都能访问。
      全局变量容易引起“命名冲突”
      变量在方法内任何地方声明的变量在整个方法内都有效;没有块级作用域,js中同样不能有重名的变量,js中发现变量重复声明后会自动忽略后面的声明,只用第一次声明的变量。
    例如:结果是110
            var y = 100;
            function f1() {
                var sum = y + 10;
                if (sum > 50) {
                    var x = sum;
                }
                alert('===='+x+'===');
            }
            f1();

    例子:结果是110,110

    注意:js中声明变量的时候可以写var也可以不写。不写的时候表示在整个页面中都有效。等同于var sum(一定要写var)

            var y = 100;
            function f1() {
                sum = y + 10;
                alert(sum);
            }
            f1();
            alert(sum);

    js中的数据类型转换

        var n1=parseInt('1000');字符串转换为整数,先判断第一个字符串转换为数字,知道遇到第一个不能转换为数字类型的字符。
    结果Nan(not a Number),不是数字,但它的类型是number,判断nan时不能用==也不能用===,它表示不知道。,需要使用函数isNaN();
    我们还是看个例子吧:
     
            var n1 = parseInt('1a000.65');
            alert(n1);
            var n2 = parseInt('x5b');
            alert(n2);
            var sum = n1 + n2;
            alert(sum);

    你觉得结果会是什么呢?思考一下,其实你还可以运行一下啦,

    我告诉你吧,

    n1=1;why?先判断第一个字符串转换为数字(1a000.65)第一个数字是1哦,知道遇到第一个不能转换为数字类型的字符

    n2=NAN;why?第一个不是数字,所以是nan

    sum=NaN;why?看下数据类型中的number介绍吧=====任何涉及NaN的操作都会返回NaN。

    再来一个例子吧:

            var sum;
            for (var i = 1; i < 5; i++) {
                sum += i;
            }
            alert(sum);

    sum是NaN????

    看清楚下面 第一次循环的时候sum的类型是undefined,i=1,两个数相加后类型是NaN,然后再循环类型相加结果一直就是NaN。

    好吧,今天就写到这里,有不足之处希望大家给予指正,我很乐意和大家交流!

     
     
      
     
  • 相关阅读:
    Arduino IDE for ESP8266 项目云盒子 (1)AP直接模式
    Arduino IDE for ESP8266 项目云盒子(2)一键自配置+网页服务器
    Arduino IDE for ESP8266 项目(4)HTTP客户端+服务端
    远程桌面访问linux
    Arduino IDE for ESP8266 项目(3)创建AP+STA
    Arduino IDE for ESP8266 项目(2)wifi扫描
    Arduino IDE for ESP8266 项目(1) 点亮灯+按键LED+pwm
    双目SLAM(2) opencv
    双目SLAM(1) 总配置
    ORB-SLAM2(4) 离线双目数据测试
  • 原文地址:https://www.cnblogs.com/guohuiru/p/3165087.html
Copyright © 2011-2022 走看看