美文网首页
Js学习简记(一)

Js学习简记(一)

作者: 奋斗的小土豆 | 来源:发表于2018-08-14 15:04 被阅读0次

    前言:本想学习Taro那一套然后开发小程序的,当环境配置好之后开发的时候,发现很多的都依赖于JavaScript所以只能暂停搁置Taro的文章学习JS,这纯属学习笔记,大神忽略~

    • 内部应用javascript
    <script type="text/javascript">
          function sayHello() {
            alert("Hello World")
          }
    </script>
    
    注意:1.包含在<script>中的代码将会从上而下一次解释,保存在自己的环境中,在解释器对<\/script>元素内部的所有代码解释完以前,
    页面的其余内容不会被展示
    2.使用<script>嵌入javaScript代码时,不要在任何代码中出现"</script>字符串,否则浏览器加载将会产生错误"
    
    • 外部应用javascript
    <script type="text/javascript" src="../js/test.js"></script>
    
    注意:带有src属性<script>元素不应该在<script>和</script>标签之间包含额外的javascript代码,
    如果包含了嵌入的代码则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
    src可以加载外部域的js文件(外网服务器文件,和img相似)
    

    变量

    javascript类型是松散的,所谓的松散类型就是可以用来保存任何类型的数据。
    换句话说就是每个变量仅仅是一个用于保存值得占位符而已,定义变量时,
    使用var操作符+变量名。

    注意:

    • 不建议修改变量所保存值的类型,但是改变变量值得类型是有效的(var name="zhangsan",name=123)

    • 使用var定义的变量将成为定义该变量的局部变量。也就是说如果在函数定义了一个变量。那么这个变量在函数退出时就会被销毁。
      如:

    function test() {
      var name = "james"
    }
    
    test();
    alert(name);//错误的
    
    注意:变量name是在函数中使用var定义的。当函数被调用时,就会创建变量并为其赋值。而在此之后这个变量会立马被销毁。
    因此会引起上一句代码的错误。不过可以像下面这样,省略var操作符,创建一个全局变量。
    
    function test() {
      name = "james"
    }
    test();
    alert(name);// 弹出james
    
    解释:省略了var操作符,因而message变成了全局变量。这样只要调用过一次test()函数,这个变量就定义了,
    就可以在函数外部任何地方进行访到了。
    
    
    • 虽然省略var操作符可以定义全局变量,但是不推荐这种做法,因为在局部作用域定义的全局变量很难维护,
      而且有意的忽略了var操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。
      给未经声明的标量赋值在严格模式下,会抛出ReferenceError错误。

    技巧:可以用一条语句定义多个变量,把每个变量用逗号分开即可(初不初始化均可),如 var name,age = 18, sex;

    数据类型

    javascript有五种简单数据类型和一种复杂数据类型

    1. Undefined ------使用var声明变量但是没有对其赋值,就是undefined,默认就是undefined所以不需要显示的为一个变量设置值为undefined,字面值undefined主要是用于比较。未初始化和未使用typeof操作符都会返回undefined值,这两种变量从技术角度有本质区别,但是实际上无论哪种变量都不可能执行真正的操作。虽然变量未初始化会自动赋予undefined,但是显示的初始化变量依然是明智的选择,这样就可以区分type的undefined就知道未声明还是未初始化。
    1. Null ------- 只有一个值,这个值就是null,从逻辑角度,null值表示一个空对象指针,而这也是typeof(null) 返回object的原因。如果定义的变量准备在将来保存对象,那么最好将变量初始化的null,这样只要检查null值就知道相应的变量是否保存了一个对象的引用。可以区分null和undefined,实际上undefined派生自null值,所以 null==undefined。
    1. Boolean ------- 布尔值 只有 true 和 false 两个值
    1. Number ------- 数值 整数或者浮点数 如果计算结果超出数值范围则会自动转成Infinity(无穷),判断一个函数是不是有穷的可以使用isFinite()函数。如果是有穷的则返回true.NaN是一个特殊的数值,这个数值用于表示本来要返回数值的操作数未返回的情况(这样不会报错),比如任何数值除以0都会返回NaN. isNaN()函数,判断一个值是不是数值。任何不是数值的值都会返回true,是数值的则会返回false。有三个函数可以把非数值转成数值类型。Number() 可以用于任何数据类型,parseInt(),parseFloat() 这连个函数把字符串转成数值。
    1. String -------字符串 可以使用""或者'',每个值都有一个toString()方法。如果值是null toString()返回null,如果是undefined toString() 返回undefined。
    1. Object -------一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型名称来创建。而创建创建Object类型的实例并为其添加属性或者方法,就可以创建自定义对象。如:var o = new Object();如果不给构造函数传递参数,则可以省略后面的圆括号。即:var o = new Object; Object和java中一样是基础类型。Object的所有属性和方法存在于子类中。
      • constructor:保存着用于创建当前对象的函数。
      • hasOwnProperty(properName):用于检查给定的属性在当前对象实例中是否存在。作为参数的属性名必须是字符串。
      • isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型。
      • propertyIsEnumerable(propertyName):用于检查给定的属性能否使用 for-in语句来枚举。
      • toLocaleString():返回对象的字符串表示,该字符串与执行环境地区对应。
      • toString():返回对象的字符串表示。
      • valueOf():返回对象的字符串,数值或者boolean值,通常与toString()返回值相同。
    • typeof操作符
      由于js是松散类型,所以提供了typeof检测给定的数据类型,和上面类型定义相同。多了一种函数 function 如果该类型是函数。

      注意:typeof是一个操作符而不是函数。typeof(null)返回object,因为null被认为是一个空对象引用。函数也是一种特殊属性。因此通过typeof操作符来区分函数和对象很有必要。

    总结

    以上主要记录了对js的引用方式,变量定义,基本数据类型的定义以及类型检测。仅做记录~

    相关文章

      网友评论

          本文标题:Js学习简记(一)

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