js第一弹-简单介绍js

js 组成

    1.ECMAScript(js中的一些基本语法、变量、函数、对象等)
    2.DOM (document object modal 文档对象模型),可以完成html文档中元素的操作
    3.BOM (browser object modal 浏览器对象模型),可以完成对浏览器对象的操作

js 特点

    1.弱类型语言
    2.不是完全的面向对象语言(仅针对于ES6之前)
    3.跨平台
    4.动态性,事件驱动

js的引入方式

    1.内部引入
    2.外部引入
    3.行间引入

    js一般写在 head 标签中,但是也可以写在 body 的后面

在行间引入js

<a href="javascript:alert('休息都是留给死人的');">点击</a>
<a href="javascript:console.log('休息都是留给死人的');">点击console</a>
<a href="javascript:;">点击不动1</a>
<a href="javascript:void(0);">点击不动2</a>

运行结果:
点击
点击console
点击不动1
点击不动2

外部引入js

通过src属性
<script src="./js/test.js"></script>
  .<script src="./js/test.js"></script>

内部引入

通过 script 标签创建js
默认 type属性值 是 type=“text/javascript”

<script type="text/javascript">
    console.log('把酒话桑麻');
</script> 

注意:
如果在 script 标签中使用了src属性引入了外部的js,则该标签中嵌套的、所有js代码无效

js基础语法

注释

	1.注释一行 使用 //注释内容
    2. 注释一块区域 /* */
    3. 注释快捷键 ctrl+/

结合浏览器进行调试的常用方法

    1.console.log('内容1','内容2','内容3',...) 向控制台输出内容
    2.alert('输出内容') 弹出警示框
console.log('李白',20,'30');
   console.log(true);
   alert('千里不留行')

代码异常

对代码可能出现的异常进行异常捕捉,异常捕捉之后不会影响后面的代码

try{
    	console.log('异常的代码');
	}catch(e){
    	console.log(e);
	}
try{
    // try 中书写可能出现异常的代码  
    console.log(abc);
}catch(e){
    // 出现异常之后,操作的内容,e就是错误对象,e.message 错误信息
    // 出现异常后的补救措施
    console.log(e.message);
    console.log('你的方式出错了');
}
console.log('雄鸡一唱天下白');

变量

变量的声明与定义

变量的声明

1. 关键字
	值: var	 let
2. 声明变量
	var abc; abc是变量名
	let num;num是变量名
3.  声明变量的值.
	abc=100;
	num=50;
**使用var声明变量,变量的值在程序运行期间可以改变**
    声明变量   var abc; abc是变量名
    定义变量的值   abc=100;
    直接声明和定义 var abc = 100
    **注:**
    	var可以在运行过程当中修改变量的值
    	变量在使用之前最好先声明和定义,如果此声明没有定义,则变量的值是		undefinded(未定义的)
    	变量声明前置,即使变量在使用该变量代码的后面,浏览器也会把变量的声明提升到作用域的最前面,注意,变量的定义(赋值)不会被前置
**使用 let 声明变量**
	在同一个作用域下, let 声明的变量,不能被重新声明,var 可以
	不能使用 let 在 同一个作用域下 声明 同名变量
	 注:
    	一个 {} 就是一个作用域块
    	{}中的代码块是一个作用域
		let 在不同作用域下无法获取值,全局作用域的值可以传递给局部,局部不能传递给全局
/*
    声明变量的关键字 var,变量的值在程序运行期间可以改变
    声明变量   var abc; abc是变量名
    定义变量的值   abc=100;
    直接声明和定义 var abc = 100
*/
var abc = '飞鸟尽良弓藏、狡兔死走狗烹';
console.log(abc);
console.log(abc);
// 在运行过程当中修改变量的值
abc = '杯酒释兵权';
console.log(abc);
// 声明一个变量
var aa;
aa = 100;
// 变量在使用之前最好先声明和定义,如果此声明没有定义,则变量的值是undefinded(未定义的)
console.log(aa);

/* 变量声明前置,即使变量在使用该变量代码的后面,浏览器也会把变量的声明提升到作用域的最前面,注意,变量的定义(赋值)不会被前置*/
console.log(show);
var show=200;
/*
使用 let 声明变量
在同一个作用域下, let 声明的变量,不能被重新声明,var 可以

不能使用 let 在 同一个作用域下 声明 同名变量

一个 {} 就是一个作用域块
*/

let num=10;
console.log(num);
// let num=100;
// console.log(num);
var num1 = 200;
console.log(num1);
var num1 = 300;
console.log(num1);
let num = 10;
{
        // let num = 200;
        // var num = 100;
        console.log(num);
    }
    
    console.log(num);

变量的命名规则

变量的命名规则:

    1.见名知意
    2.变量名只能是字母、数字、下划线、和$组成,不能以数字开头
    3.不能使用系统的关键字和保留字
        比如 var this class array string 等等

常用的命名方法

    1.驼峰命名法:第一个单词的首字母小写,其余单词的首字母大写
        例如:  myShopCar 、userCenter
    2.帕斯卡命名法(大驼峰命名法):每一个单词的首字母都大写
        例如:  MyShopCar 、UserCenter
    3.匈牙利命名法:属性+类名+描述,使用下划线链接
        属性:
            s表示静态变量,g表示全局变量
        类型:
            string 字符串
            bool 布尔

变量的分类

变量的分类

1.number 数字类型,包含整数和小数
2.string 字符串类型
3.boolean 布尔类型,布尔类型只有两个值 true false,true表示真,false 表示假
4.undefined 类型,未定义的类型
5.object 对象类型
6.null 空对象,特殊类型 

获取变量类型

使用 typeof 方法获取变量的类型

  1. typeof 变量名
  2. typeof(变量名)
    返回的是变量的类型
*/
   console.log(typeof num1);
   console.log(typeof(num1));
   console.log(typeof(123.23));
   console.log(typeof(num1));

    //字符串类型
    let str1 ='莫听穿林打叶声';
    console.log(typeof str1);
    let str2 ='123'
    console.log(typeof str2);
    // 布尔类型
    let bol1 = true;
    console.log(typeof bol1);
    let bol2 = false;
    console.log(typeof bol2);
    // undefined 类型
    let abc;
    console.log(typeof abc);

    // 对象类型
    /* 
    js 中 通过document.getElementById('元素id');获取dom元素
    */
   let wp=document.getElementById('wp');
   console.log(typeof wp);
   console.log(wp.id);
   console.log(wp.className);
    // null类型
    let n = null;
    console.log(typeof n);

变量类型注意问题

  1. 特殊的number NaN(不是一个数的number类型)
    • NaN 是唯一一个和自己比较,结果值不相等的数据
  2. 字符串一般都有 引号包裹。可以是单引号,也可以是双引号
    如果字符串外部是单引号,内部如果有引号,只能是双引号,反之亦然。
  3. 字符串-数字 得到的结果是一个number类型
  4. 字符串的转义字符
    1. \n:换行
    2. \t:tab键
    3. \':单引号
    4. \":双引号
    5. \\:表示 \
let oNaN = NaN;
   console.log(oNaN,typeof oNaN);
   if(NaN==NaN){
    console.log('两个值相等');
   }else{
    console.log('两个值不相等');
   }
   let n1=120;
   let n2=20;
   let n3=n1+n2;
   console.log(n3);
   let n4=150;
   let n5=n4-n1;
   console.log(n5);

   let str3 = '魔礼青';
   let str4 = '魔礼红';
//    字符串-数字 得到的结果是一个number类型
   let n6 = str3-n1;
   console.log(n6);
   let n7 = str4-n1;
   console.log(n7);

   if(n6==n7){
    console.log('不可能');
   }else{
    console.log('NaN和NaN不能相等');
   }
   let str5 ='子曰:\'学而时习之\'';
  console.log(str5);
  let str6 ='黑发不知\n勤学\t早';
  console.log(str6);
  alert(str6)

常量

  • 常量:一旦定义,他的值不可以更改的量
  • 声明一个常量,使用的关键字是 const
  • 常量的值不能被修改,以下写法会报错
const PI = 3.14;
console.log(PI);
PI=3.67;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值