Javascript基础Day1

  • Javascript基础Day1已关闭评论
  • 15 次浏览
  • A+
所属分类:Web前端
摘要

1、js的书写位置:


Javascript基础Day1

1、js的书写位置

    行内式(不推荐):
        情况1:
     <div onclick="alert(123)">hello</div>     <p onclick="alert(123)">hello</p>           

        情况2:
            

    <a href="javascript:alert(4567)">点击</a>

    **内嵌式:
        直接在html页面中创建script标签,然后在该标签中书写js代码
        示例:
            

            <script>              alert(123);                     console.log(123);                     document.write(123);          </script>

    ***外链式:
        创建js文件,然后把js代码存放在该文件中,最后把该文件引入到html文件中
        示例:
            

    <script src="书写引入的js文件地址"></script>

    注:在书写路径时,最好不要写"裸路径",也就是需要在文件或文件夹前面添加"./"
    注:在学习时,内嵌式用的多;在工作时,外链式用的最多
 
2、常见的输出方式

    alert():弹出框,一般用来调试bug
    document.write():直接在文档中输出,可以输出字符串,标签,以及js
    ***console.log():在控制台中打印
 
3、注释:
    作用:可以让我们快速的理解代码
    单行注释:// 注释的内容
    多行注释:/* 注释的内容 */
 
4、变量:
 是存储数据的一个容器,是计算机中的标识符,通过访问变量,能获取到它里面所保存的数据

    注:一个变量只能存储一个值(地址)
    ***创建语法1:显示定义
        var 变量名=值
    创建语法2:隐式定义
        变量名=值

    隐式定义:当执行到该代码时,浏览器会查找a1变量,在当前作用域中是否定义,如果没有,则继续向上一级作用域中查找,如果定义了就直接把值赋值给当前定义的变量,如果所有的作用域中都没有定义,则自动生成一个全局的变量  

    显示定义和隐式定义的区别
1、显示定义变量时,会声明提升,也就是先在当前作用域的最顶端声明变量,然后当执行到赋值的代码时,在给当前变量赋值,因此可以在变量创建之前调用,也可以在变量创建之后调用;而隐式定义没有声明提升,因此只能在创建之后调用,不能在创建之前调用
2、显示定义必须要使用关键字,隐式定义则没有关键字
3、显示定义变量时,可以先创建变量,然后在赋值;隐式定义变量时,必须在定义时就赋值
    变量名命名规则:(必须要遵守)
        1、变量名只能是数字,字母,下划线和$符号
        2、不能以数字开头
        3、区分大小写
        4、不能是关键字和保留字
    变量名命名规范:(可以遵守,也可以不遵守)
        1、语义化
        2、驼峰命名法,单词首字母大写
            1、大驼峰:每个单词首字母都要大写
    例:var Demo ;
            2、小驼峰:从第二个单词开始首字母大写
    例:var dEmo;
    创建变量的目的:就是为在该页面中方便调用
 
 
5、关键字:
    在书写js代码时,在定义或创建时,需要用到的单词,就是关键字
    例如:var、for、if、else、while....
 
6、保留字:
    储备的关键字,就是保留字,将会在下一个版本升级时,把保留字转为关键字
    注:在定义变量名时,如果不确定所用的单词是否为关键字或保留字时,可以在单词的后面添加数字
 
7、***数据类型:
 
    1、基本数据类型:
        数字类型:Number
        字符串类型:String
        布尔类型:Boolean
        声明变量未赋值类型:undefined
        空对象类型:null
 
    2、复杂数据类型(引用数据类型):
        函数类型:function
        对象类型:Object
        。。。。
    typeof():检测变量的数据类型
 
8、***数据类型之间的转换
 
     把其他类型转为数字类型:
        1、Number(变量):该方法是整体转换,一旦字符串中有非数字字符时,将返回NaN
        ***2、parseInt(变量):从第一个字符开始一个个字符的转换,当遇到非数字字符时,则停止转换,并返回前面的转换结果,取整;当第一个字符串为非数字字符时,则直接返回NaN
        3、parseFloat(变量):从第一个字符开始一个个字符的转换,当遇到非数字字符时,则停止转换,并返回前面的转换结果,取小数;当第一个字符串为非数字字符时,则直接返回NaN
        4、除了+符号以外的其他运算符:该方法是整体转换,一旦字符串中有非数字字符时,将返回NaN
 
     把其他类型转为字符串类型:
        1、String(变量):
        2、变量.toString():非null和undefined的类型
        3、加号"+":
        注:1、null和undefined是一个特殊类型,里面没有任何属性和方法,因此不能通过它去调用属性和方法
            2、使用+号时,浏览器会自动检测该符号左右两端的变量是否为字符串类型,如果有一端为字符串类型时,浏览器会自动把另一端也同样转为字符串类型,最后在把该符号左右两端的内容进行拼接
      
  把其他类型转为布尔类型:
        1、Boolean(变量):只有0,空字符串,NaN,null,undefined等内容转为false,其他的内容都将转为true
        注:
            1、数字在转为布尔类型时,只有0转为false,其他数字都是true
            2、字符串转为布尔类型时,只有当前字符串长度为0时,转为false;长度如果大于0,则都将转为true
 
    isNaN():检测当前变量是否为数字,返回一个boolean值
    toFixed(n):保留小数点后面n位小数,并转为字符串类型
 
  9、运算符:
        1、算术运算符:+、-、*、/、%
        2、赋值运算符:=、+=、-=、*=、/=、%=
        3、比较运算符:==、===、!=、!==、>、<、>=、<=
 
        注:"==":是针对值作比较,也就是只要该符号左右两端的值相等就返回true,不判断数据类型是否相同
            "===":既要判断符号左右两端的值是否相等,还要判断他们之间的数据类型是否也相同,只有当两者都满足时,才返回true,否则返回false
        4、逻辑运算符:&& || !
            &&:该符号左右两端如果是表达式时,从左往右进行判断,当左边的表达式为true时,才判断右边的表达式;当两端的表达式结果都为true时,才返回true;只有一边表达式结果不为true,则返回false
 

            该符号左右两端如果是值,当左右两端的值转为布尔类型都为true时,则输出符号右端的值;如果符号左边的值为false时,直接输出符号左边的值,不在继续往后判断;如果该符号左边为true,而右边的值为false时,直接输出右边的结果

            ||:该符号左右两端如果是表达式时,从左往右进行判断,只要左右两端有一个表达式为true时,则直接返回true;如果左右两端的表达式都为false时,则返回false

            该符号左右两端如果是值,当符号左边内容转布尔类型时为true,则直接输出左边的结果;如果左边内容转为false,则直接输出右边的结果
           
            !:把假的转为真的,把真的变为假的