javascript基础知识

本文介绍了JavaScript的基本概念,包括它是一种解释型语言,常用于网页交互、数据后台交互以及DOM和BOM的操作。JavaScript由ECMAScript、DOM和BOM三部分组成,通过不同的引入方式如<script>标签实现。文中还详细讲解了变量的定义、命名规范、数据类型(如number、string、boolean等)以及运算符的使用,并涉及数据类型的转换和隐式转换规则。
摘要由CSDN通过智能技术生成

1. 认识js 
javascript 语言,简称js;
javascript 借用java 名气,但是和java没有关系
javascript 一门解释型语言,被浏览器解释执行(不用被编译,运行时直接解释(翻译)从上到下,一行行执行)

 网页: 
     html   结构
     css     样式
     javascript  行为, 用户的行为

   js 作用
   1. 可以进行各种交互,点击,移入,移出,拖动等
   2. 和后台的数据进行交互, 如登录
   3. 修改样式; 通过js修改样式
   4. 可以操作dom (添加,修改,删除),操作网页中的元素

   js 组成(三部分):
      ECMAScript(ECMA 262标准): 基本语法和基本对象
          变量,数据类型,选择结构 ,循环结构,函数,数组,字符串
      DOM(文档对象模型): 提供操作网页的方法和接口
      BOM(浏览器对象模型): 提供操作浏览器的方法和接口


2. js的引入方式(css 的引入方式)
  1. script 标签
      <script type="text/javascript">
      </script>
  2. script 引入js文件
     <script src="" />
  3. 在以on开头事件中,使用js
     <p οnclick=""></p>  
  4. a 标签中的href属性中使用js
    <a href="javascript:alert('跳转到首页')">首页</a>

3. js输入输出
    输出:
       弹出框: alert("内容");     注:可以中断程序
       控制台输出: console.log("输出内容");
       网页输出: document.write("输出内容");
                   注:document.write可以解析html标签

    输入:
        输入框
          let 变量名 =  prompt("提示信息"); 
          注:prompt返回的都是字符串

    注释:
       // 单行注释
       /* */  多行注释
      

4. 变量
变量:可以变化的量, 变量本质是容器; 
变量:在内存中开辟的一个空间,用于存储数据

4.1 定义一个变量
    var 变量名;   //es 5 : ECMAScript 5
    let 变量名;   // es6  : ECMAScript 6

    let  age = 18;   // = : 赋值符号,将右边值放到左边变量中

    let name = "张三";
    //在内存中开辟一个空间(age),18放到这个中 


4.2 变量名的命名规范
        2-1、变量命名必须以字母、下划线”_”或者”$”为开头
        2-2、变量名中不允许使用空格和其他标点符号,首个字不能为数字
        2-3、不能出现中文
        2-4、遵循一个规范(根据项目来选择)
                匈牙利法,小驼峰法,大驼峰(帕斯卡)法

                注意:js区分大小写


匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。


小驼峰法:第一个单词首字母小写,后面其他单词首字母大写

大驼峰:每个单词首字母大写
http://bugshouji.com/bbs-read-run?tid=552

4.3 容器里放的是什么
  计算机中,容器放的称为数据


5. 数据类型 
  js:弱类型语言, 根据赋值决定的数据类型         
number , string, boolean,null, undefined
number : 数值,  特点:直接写,不加符号
        let age = "18";

string : 字符串,特点:需要加引号(单引号,双引号都行)
      let name =   "张三";      

boolean : 布尔值 ; true/false

null : 空 , typeof 的值是object

undefined: 未定义; 表示 :申明了但是没有赋值

总结 : 除了字符串外,其它都不加引号

 查看变量的数据类型:
    typeof 变量名;

  数据类型分两大类:
      原始类型(基本类型):number , string, boolean,null, undefined
      引用类型:object 对象 , array 数组 , function 函数


6. 运算符
  6.1 算术运算符 +,- , * , / , %
        %: 取模,求余数
        5%2: 5取2的模(5/2的余数)
       
       注意: + : 两层意义
               1. + 号两边都是数值,则进行加法运算
               2. +号两边有一个是字符串,则进行连接


      - : 减号两边的数据类型不同时,将进行类型的隐式转换成number;
          true ->   1
          false -> 0
          null -> 0
          undefined -> NaN , not a number 
          (同理:* , / , % 都可以隐式转换)

         %: 取模,即求余数
         100%3   ,     77%2  ,  88%2

   6.2 比较运算术(结果为boolean)
       > ,  < , <=,  >=, == , != ,  === , !==

       注:1. 字符串也是可以比较大小的,根据ASCII 码(a:97   A:65 )
              2. 比较的结果都是boolean类型


        == , ===
        == : 只判断值是否相等
        ===: 判断值 和 数据类型是否相等
      
   6.3 逻辑运算符(并且, 或者, 非)
      并且: && : 有一个为假,即为假; 所有为真,即为真
      或者: || :  有一个为真,即为真; 所有为假,即为假
      非: ! (取反)  !true = false;  !false = true;
                                !undefined = true;


  6.4 一元运算符(有一个操作)   ++ , --
        i++ ;  i=i+1;
        i--;     i=i-1;
     单个语句执行都是+1; 
     多个语句时++在前,返回的自加之后的值,
     ++在后,返回的时加之前的值;

     --同理

  6.5 二元运算符(有二个操作数)
      a+b
      a-b

  6.6 三元运算符 (有三个操作数)
      (条件表达式)  ? 条件为真时,执行 : 条件为假时,执行;


      注:三元运算符只适用于简单的逻辑,不适用于复杂的逻辑,
      如果条件成立还想执行其他的东西就会报错

  sex === '男'?alert('你的性别是男性'),console.log('啦啦'):alert('你的性别是女性') 

  6.7 赋值运算符
    = : 将赋值运算符的右,赋值给左边
    += 
    -=
    /=
    *=

    a+=b;  相等于  a=a+b;
    a/=3;  相等于  a=a/3;

    优先级:算术运算符>赋值运算符
      赋值运算符优先级最低

7. 数据类型的转换
  7.1 转数字 
     1. parseInt(): 转换成整数, 原理:从左到右一位一位的转,有一个不合条件,就不转了
              不支持小数点
             parseInt("12a");

     2. parseFloat() 转换成浮点数, 原理:从左到右一位一位的转,有一个不合条件,就不转了
              只支持一个小数点
     3. Number() : 整体进行转换,不能数值,返回NaN
            true -  1
            false - 0
            null - 0
            undefined - NaN ( not a number)
            注: NaN还是是number类型

            NaN和任意值比较都为false;
            

 7.2 转字符串
      String(要转换的值)

7.3 转成boolean类型
    Boolean(要转换的值)
    非0数字  -  true     0 -- false
    非空字符串 - true  空字符 串 -- false
    null, undefined -> false      


8.  字符串转义符
   \n  :  换行
   \t  : 水平制表  tab键(4个)
   \r : 回车
   \\ : 斜杠
   \' :单引号
   \": 双引号

   注: 单引号不能嵌套单引号,双引号不能嵌套双引号

9. 拓展- 隐式转换
   1.  在算术运算符中
       +法运算中,如果一方是字符串,则进行拼接
                           如果没有字符串,则将其它转number ,再进行计算
       -,/,* : 会运算符前后都会转成 number,再进行计算
       

   2. 在比较运算符中
        情况1: 如果有一个操作数是布尔值, 将其转成number ; true - 1 , false - 0
                      5>true                        

        情况2: 如果一个操作数是字符串,另一个操作数是数值, 将字符串转成数值

                       5>"true"                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值