JS基础(一)

javascript

一、 前言
  1. JS 是一个脚本语言
  2. JS是web的编辑语言
  3. 经常理解为 html-结构、css-样式、js-行为
  4. js可以写html、也可以写css、但是主要是用来渲染页面,负责页面和数据之间的传递和显示,以及编辑功能…
二、JS基础

1.使用

和css差不多,js有两种使用方式
1.内部js
在html的底部

<html>
<body><body/>
<script>js代码</script>
</html>

2.外部引入
<script src="demo.js"></script>

2.输出

1.弹框 alert
内部js
<script>
        //写js代码
        alert('js第一天');
    </script>
2.外部js里面直接写代码
alert('哈哈哈');

3.写到html上 document.write
<script>
         document.write('床前明月光');  
         document.write('<br>'); 
         document.write('疑是地上霜');   
</script>

4.innerHTML写到html内里面可以写html的标签,显示的时候显示的是标签内的东西。
innerText写到标签里面,如下所示会显示包含标签的一块
app我们称为节点,通过节点然后把内容写到该节点的地方
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="app">
    </div>
    <p id="app2">
    </p>
    <script>
        // innerHTML
        app.innerHTML = '<span class="border: 1px solid">两行白鹭上青天</span>';
        // innerText
        app2.innerText = '<span class="border: 1px solid">两行白鹭上青天</span>';
    </script>
</body>
</html>

5.写到控制台 浏览器F12调出控制台console
console.log('今天天气很好');
  1. 变量
1.变量
变量一个可变的量,用来储存数据
声明一个变量用var
var 变量名;
var num; 这个时候num是个变量
变量赋值 = 赋值符号      num = 1;     这个时候num等于1
2.关键字
一些语言以及规定意义的词比如function
3.标识符
js严格区分大小写
命名规范: 
  字母 $ _ 开头
  第一个单词小写,后面的单词第一个字母必须大写

4.小总结

一、变量
	* 变量是什么,有什么用
	* 声明变量
	* 赋值
二、js一些语法和概念
	1. 区分大小写(html不区分大小写)
	2. 标识符(比如变量名称等)
		* 以字母、下划线、$开头
		* 其他字符可以是字母、下划线、$或数字
		* 驼峰式:小写字母开头,第二个打次首字母大写
	3. 注释
		* 单行注释
		* 多行注释
	4. 关键字和保留字
		* 关键字:系统在使用
		* 保留字:系统将来可能用到
		* 不能作为标识符来使用
		* 用来作标识符就会报错
三、变量有哪些类型
	1. 数字 Number类型
		* 整数
		* 小数
		* 最大值和最小值
		* NAN
	2. typeof 判断变量的类型
	3. String类型 字符串
	4. Boolean类型 true和false
	5. Undifined类型 undefined
		* 用来表示声明了变量但未初始化(赋值)
	6. Object类型
		* 普通对象(无序集合)
		* 数组(特殊对象)
	7. Null类型 null
		* 声明一个变量准备用来存储对象
四、变量的类型判断
	* 基本数据类型(简单数据类型) Undefined、Null、Boolean、Number和String
	* 引用数据类型(复杂数据类型) object,array他们的属性或者成员可以包含简单数据类型

5.数据类型

5个基本数据类型
1.数组类型 Number
  数字   NaN
2.字符串类型 String 
  ' ' 或 'saf'
3.布尔类型 Boolean
  true 或 false
4.undefinde 未定义
5.null 空

2个引用数据类型
1..数组类型Array
  var 数组名 = [ ]
  var 数组名 = [数组值]
  var 数组名 = [  {object}]
2..对象类型Object
  var 对象名 = { }
  var 对象名 = new object
  var 对象名 = {    属性(变量名)=值(各种类型) }
  NULL和Array的数据类型都是Object

6.运算符

和数学的运算符一致
加 +
减 -
乘 *
除 / 
取余 %

7.关系运算

1.if判断语句
  if(条件语句 (变量或运算)){执行代码}else{执行语句}
如果满足就干嘛,否者就干嘛
if(!null){return:"哈"}else{return:"切"}
如果不是空就返回 哈,否者返回 切

2.赋值运算符和逗号运算符
赋值运算符 =  用于给变量赋值
复合运算符:
  +=    a += 10;    =>   a=a+10
  -=    a -= 2 ;    =>   a=a-2
  *=    a *= 5;     =>   a=a*5
  /=    a /= 3      =>    a=a/3
逗号运算符 , 用于简洁声明变量
var a,b = 10 ;  声明a,b变量并赋值10

3.一元运算
自加运算符 ++
  ++i 先自加1再参与计算
   i++ 先参与计算再自加1
负号运算符 - 
  直接给变量取负值
自减运算符 --
  --i 先自减1再参与计算
  i-- 先参与计算再自减1

4.逻辑运算
逻辑非 !
  取相反的值 先用布尔进行判断,会涉及类型转换,隐式和显式转换
逻辑与&&
  布尔类型情况下 只要有一个false就不会检查后面的,结果就是false
  非布尔情况下  判断第一个变量的值(先进行隐式布尔转换)若第一个为true取后面false的变量值,若第一个为false取第一个变量的值
  实际应用里的小技巧
  // 下面用这个特性来检测这个变量有没有值和属性
    var cat = false;
    console.log(cat && cat.name);
逻辑或 ||
  布尔情况下,条件里满足一个就为true,都不满足为false
  非布尔情况下,在条件里找true,值都取第一个为true的值,若没有true则取最后一个的值
  // 小技巧,用于不确定有没有给值,先设置一个默认值
    var date;
    var dater = date || '2019-2-15';
    console.log(dater);
扩展 多个运算在一起的情况下
  /**
        在下列的算式里,看似很复杂,实际上可以分成两大部分||左右进行判断,
        如果前者为false再算后面的,
        而后面的关系运算符==也可以分成左右两边进行计算
        得出结论,计算优先级之前得看清全盘,最后关键是赋值运算那
        */
        // 计算优先级:()=> 自加减 => 算术运算 => 关系运算(比较运算)=> 逻辑运算=> 赋值运算;
        var sum = 20 + i++ + 'abc' || 123 - ++i + ++j + ++j + '123' == 123 * 2 / 4 ;

5.类型转换
隐式转换
  在条件语句为一个变量时出现
  先把变量转换为布尔类型,true执行else之前的,false执行else之后的
  空、0、undefinde、NaN,各类数据类型意义上为无的都为false,否者就为true
显式转换
  判断变量的类型		typeof 变量名
  Number(变量名);   除了数字和空以及布尔其他全为NaN
  Boolean(变量名);      !!Boolean(变量名) 空、0、undefinde、NaN,各类数据类型意义上为无的都为false,否者就为true
  String(变量名);   全部加上引号变成字符串然后(+)连接起来 
  Object(变量名);基本不进行转换因为对象可以把所有类型都包含
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值