javaScript基础(一)

JavaScript简介

JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。特性:
1.JavaScript 是一种轻量级的编程语言。
2.JavaScript 是可插入 HTML 页面的编程代码。
3.JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。

JavaScript内容

JavaScript内容分为三大结构,分别是:

  • 基础语法
  • 操作BOM对象
  • 操作DOM对象

基础语法部分

使用方式:
  1. 直接在HTML中引用
//在HTML5之前
<script type="text/javascript">
    //JavaScript语句
</script>
//HTML5开始可以省去type属性因为将其默认值设置为了"text/javascript",所以可以直接这样写:
<scripe>
	//JavaScript语句
</script>
  1. 从外部引入
    例如有一个已经写好的js文件如下,路径为d:test.js
alert("Hello Wrold");

使用方式,在你的HTML文本中插入如下代码,然后打开用浏览器打卡HTML文件,会处出现一个弹窗,上面写着"Hello Wrold":

<script src="d:test.js"></script>

/*
注意:
因为HTML不同与java先编译再解析加载,而是直接被浏览器解析的,
所以在加载中是从上至下加载的。
而我们一般的会将<script>标签放在HTML的头部也就是<head>标签中。
但是,放入<head>标签中如果js语句出现错误,
那么后面的<html>文本将不能加载出来,
而且浏览器一般最多可以同时下载两个js文件,
js文件过多就会导致浏览器加载过慢,降低用户体验。
所以我们可以将其放在<body>的尾部,
但对于高度依赖js的HTML文本,也会因为js加载过慢导致页面渲染不够快。
所以在使用时应考虑好<script>标签的存放位置。
*/

变量:

JavaScript中变量的声明只有var这个关键字,根本不用管变量的数据类型,有没有很随意,更随意的是哪怕没有var这个关键字也可以!但不推荐使用

var a;//声明一个变量名为 a 的变量
var b = 5//声明一个变量名为 b 的变量,并给 b 赋值为 5;
c = "abc";//声明一个变量名为 c 的变量,并给 c 赋值 "abc";但这种方式不推荐!

关于变量的作用域:

  • 全局变量:定义在function外的

  • 局部变量:定义在function内的


基本数据类型:

JavaScript有5种基本数据类型,分别是:

  1. undefined:指被声明的变量但还未被赋值
var undef ;
console.log(typeof undef);
/*
这时控制台就会输出 undefined,
typeOf undef 指 undef 的类型,
因为undef没有没赋值所以这里的结果为undefined。
*/
  1. number
    指整数或浮点数
var num = 5;
console.log(typeof num);//输出结果为number
  1. boolean
    指trun或false
var bol1 = truevar bol2 = false//typeOf bol1和typeOf bol2都为boolean
  1. string
    指字符或字符串,JavaScript是一门很随意的语言,并不像java那样分的特别细(单引号为char,双引号为string),所以不论是单引号还是双引号都为string。同时,虽然在JavaScript中string属于基本数据类型,但还有其对应的属性与方法。
var str = "abc"var str2 = 'a,b,c';
var str3 = "abskajdnbd";
//typeOf str和typeOf str2都为string
str.length;//结果为3,表示str的长度
str.charAt(1)//结果为"b",表示返回脚标为1对应的值,角标以0开始
str2.split(",");//将str2以","分割为string数组。
str3.indexOf("b",0);//从0角标开始返回字符"b"第一次出现的角标位,结果为1;日过将0改为<=8的数,结果为8,如果改为>8的数则结果为-1表示没有
console.log(str3.substring(4,6));//返回位于角标4与6之间的字符串,结果为"aj",包含头不包含尾;
  1. null
    与undefined不同,null指被赋值了,但值为null;
var n = null;
console.log(n);//结果为null,但是:
console.log(typeOf n);//这里的结果为Object,这是为什么呢?如果:
var x = typeOf n;
console.log(x===Object);//这时你会发现输出结果为false,这又是为啥呢?这个现象俗称薛定谔的对象  哈哈哈
  • JavaScript的语法特性中有一个动态数据类型,即变量的数据类型会自动转换,写惯了java的同学有没有感觉很神奇。
var a = 5;
var a = "string";
var a = false;
var a = null;

引用数据类型

包括:Object,Array,Function

  1. Object的创建:
//1.
var student1 = new Object();//创建一个名为student1的对象
student1.name = "Marshall";//给对象设置属性name,并给属性赋值"Marshall"
student1.sex = "男"//给对象设置属性sex,并给属性赋值"男"
student1.show = function (){     //给对象创建一个方法show()
	console.log(this.name+this.sex);//并让方法输出该对象的name与sex,this代表该对象
};
student1.show()//调用该对象的方法
//2.
var student2 = {          //创建一个名为student2的对象
        name:"logic",    //在创建的时候直接给对象设置属性,并为属性赋值
        sex:"男",
        show:function (){   //在创建的时候直接给对象创建一个方法,名为show
            alert(this.name+this.sex);  //并以弹窗的形式输出对象的name与sex
        }
    };
    student2.show();  //调用该对象的方法
//3.使用有参函数创建
function f(age,name) {   
    this.age=age;		
    this.name=name;
}
var student3 = new f(1,"l"); //创建对象,并传入属性值
student3.show=function () {   //给对象创建一个方法show()
    console.log(this.name+this.age);
}
student.show();   //调用该对象的方法
  1. Array
var arr = new Array(5);//创建数组对象,5表示数组长度
arr[0]=5;
arr[1]=7;
arr[2]=6;
arr[3]=11;
arr[4]=18;
console.log(arr);//结果为["5","7","6","11","18"]
//JavaScript神奇之处
arr[6]="asd";
console.log(arr);//结果为["5","7","6","11","18","asd"]
//JavaScript的不同就在于可以给数组自动扩充长度,而且因为动态类型的特性,一个数组中可以有不同类型的值

//创建数组的第二种方式
var arr = new Array(6,8,9,15);
arr.length;//结果为4
//arr.jion();//将数组转换为string并返回
arr.sort();//对数组进行从大到小的排序,返回一个数组对象
arr.push(18);//在数组的尾部增加一个值为18的数
  1. Function
    函数,等同于 java中的方法
function frist(){
	console.log("无参函数");
}
frist();//输出"无参函数"
function second(string){
	console.log(string);
}
second("有参函数");//输出"有参函数"

运算符号:

和JAVA大致相同,分为:

  • 算数运算符:+,-,*,/,++,–;
  • 赋值运算符:=,+=,-=;
  • 比较运算符:<,>,<=,>=,= =,!=,= = =,!===
    这里要和java不同,一般用===来比较,因为JavaScript会自动转换数据类型:
var num = 123var str = "123";
console.log(num==str);//结果为true,但是:
console.log(num===str);//结果才为false
  • 逻辑运算符:&&,|| ,!

逻辑语句(同JAVA)
  • 条件语句判断if ,else if ,else和switch
//if全家桶
var a = 5;
if(a<5){
	console.log("小了");
}else if(a>5{
	console.log("大了");
}else{
	console.log("嗯冲!");
}//结果为嗯冲!
//switch
switch (new Date().getDay()) {  //new Date().getDay()会返回一个number,代表一周内的第几天
    case 0:
        day = "星期天";
        break;
    case 1:
        day = "星期一";
         break;
    case 2:
        day = "星期二";
         break;
    case 3:
        day = "星期三";
         break;
    case 4:
        day = "星期四";
         break;
    case 5:
        day = "星期五";
         break;
    case 6:
        day = "星期六";
} 
console.log(day);//自己试试看
  • 循环语句 while和for
var a = 6;
while(a>0){   //只要()内为true就会执行
	console.log("嗯冲!");
	a--;
}//打印6次"嗯冲!"
for(var i = 0;i<a;i++){
	console.log(i);
}//打印0-5

第一次写blog,有不足之处还望指点!鞠躬!

基于STM32F407,使用DFS算法实现最短迷宫路径检索,分为三种模式:1.DEBUG模式,2. 训练模式,3. 主程序模式 ,DEBUG模式主要分析bug,测量必要数据,训练模式用于DFS算法训练最短路径,并将最短路径以链表形式存储Flash, 主程序模式从Flash中….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值