美文网首页
JavaScript学习笔记(一)

JavaScript学习笔记(一)

作者: 滨滨_57b5 | 来源:发表于2018-12-28 15:56 被阅读0次

    JavaScript是一种基于对象和事件驱动的客户端脚本语言,最初设计是为了检验HTML表单输入正确性的,起源于Netscape公司的LiveScript语言,之后Netscape公司与开发Java的Sun公司一起开发出了JavaScript。

    JavaScript的组成

    ECMAScript
    • 提供语法功能
    Browser Object
    DOM
    • 提供访问和操作网页内容的方法和接口
    BOM
    • 提供与浏览器交互的方法和接口

    如何在HTML中使用JavaScript

    • headbody标签中使用<script><script src=' '>标签嵌入JavaScript脚本

    JavaScript的数据类型

    数据类型分类
    • undefined类型 未定义的,即声明的变量没有赋值;
    • null类型 表示空的指针对象,当之后要赋与对象值时,可以先将变量赋值为null
    • undefined值是派生自null值的,所以undefined == null的返回结果是true
    • Number类型,表示整数和浮点数
    • NaN也是Number数值类型,表示非数值,如果用一个数值减去了一个字符串,那么结果就为NaN;另外NaN与任何值都不相等,包括其本身
    • isNaN(n)方法,检测值是否是“非数值”,返回结果是bool型;该方法接收的参数会尝试转换为数值,例如字符串“16”,那么返回结果就是false,即是数值类型
    • String类型,表示由零或多个16位Unicode字符组成的字符序列
    typeof
    数值转换
    Number(); //转数值类型,不推荐使用
    parseInt();//推荐使用
         var topVal=parseInt("28px");
         console.log(topVal);//结果为28
         var c = "abc58";
         console.log(c);//结果为NaN,parseInt()方法只能提取以数字开头的值
    parseFloat()
         var d=parseInt("0123");
         console.log(d);//结果为123,此处parseInt()会忽略掉前面的0
         var d= parseFloat("0123");
         console.log(d);//结果为123,此处parseFloat()会忽略掉前面的0
    
    字符串转换
    toString();
    String();
    
    布尔转换
    • 除0之外的所有数字,转换为布尔型都为true
    • 除 “ ”空字符串之外的所有字符(包括里面有一个空格),转换为布尔型都为true
    • nullundefined转换为布尔型为false

    JavaScript的操作符

    运算操作符
    var num1 = 10,num2 = "5";
    console.log(num1 * num2); //结果为50,因为在做乘法操作时,会进行隐式类型转换,自动把数值的字符串转换为数值
    
    var num3 = 5;
    var num4 = "5";
    console.log(num3 + num4); //结果为55
    console.log(num3 - num4);//结果为0
    console.log(num3 * num4);//结果为25
    console.log(num3 / num4);//结果为1
    
    比较操作符
    • === 全等,比较值和数据类型是否相等
    • !== 不全等
    null==undefined ;//结果为true
    null===undefined;//结果为false
    
    逻辑操作符
    逻辑与
    var num =3,n=null;
    console.log(n && num3);//打印结果为null,即在逻辑与操作中只要有一个为null,打印结果就为null
    console.log(33 * "abc" && 55);//结果为NaN,即在在逻辑与操作中只要有一个为NaN,打印结果就为NaN
    console.log(nums && 55);//结果为undefined,即在在逻辑与操作中只要有一个为undefined,打印结果就为undefined
    
    var result = 29;
    console.log("time" && 90 && "##");//结果为##,即如果第一个操作数如果为true,则返回最后一个操作数
    console.log(0 && result);//结果为0,如果第一个操作数为false,则返回第一个操作数
    
    逻辑或
    console.log("hello" || 0);//结果为hello
    console.log(99 || 0 || “abc”);//结果为99
    console.log("" || 88 || true);//结果为88,因为空字符串转为布尔类型为false
    console.log(0 || "" || null); 结果为null,因为前俩个转为布尔都是false,那么最后一个不管是true还是false,都会被返回
    

    相关文章

      网友评论

          本文标题:JavaScript学习笔记(一)

          本文链接:https://www.haomeiwen.com/subject/tjsslqtx.html