javaScript快速入门(仅需一天)

Posted [我叫白小白]

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript快速入门(仅需一天)相关的知识,希望对你有一定的参考价值。

js入门 OneDay

最近学习了一些简单的js入门知识,拿出来分享一下,不喜勿喷!

js的特点:

①主要用来向htnl页面添加动态效果
②直接嵌套再html界面中,建议写在js文件中,有利于结构和行为的分离
③脚本语言可以不用进行预编译直接执行
④弱类型,对使用的数据没有严格的要求
⑤基于对象,不仅可以创建对象,还可以拥有现有的对象
⑥跨平台性,绝大多数浏览器都支持

介绍完js的特点,来看看js中注释//是用来注释单行(多行也是没有问题的)的,/* */是用来注释代码块的。

js代码有时会出错,所以我们要学会如何调试:

<script>
			alert("alert弹出");//弹出框
			console.log("console.log控制台输出");//控制台输出
			prompt("prompt提示用户进行输入的对话框");//提示,对话框的形式,
			//prompt传入的任何数据都会变成字符串
			confirm("confirm先是一个带取消按钮的对话框");//显示一个带有取消按钮的对话框
			document.write("<p>这里的内容由document.write输出</p>");//内容输出在文档中
</script>

注意:

js代码严格区分大小写
每个语句结尾都需要分号(最好加上分号,以免引擎自动补齐造成语义改变)

js引用方式:

方法一:
<!--js引用方式1:外部引用可以放在head body之中,用script标签来引用-->
<script type="text/jscript" charset="UTF-8" src="js/js.js"></script>
方法二:
<!--js引用方法2 内部标签 可以放在head body之中用<script></script>包起来-->
<script> alert("2333"); </script>
方法三:
<!--js引用方法3 放在标签内部 不需要使用script标签,不触发不执行-->
<button onclick="alert(2345667)">点击</button>
<!--语法格式<开始标签 on+事件类型=“js代码”></结束标签>-->

变量的命名:

必须以下划线或者字母开头,后面可以跟字母、下划线、数字,不可以有空格和特殊字符

var str_1 = 0;//声明一个变量并赋值
alert (str_1);//弹出变量
//变量名区分大小写
var a = 1;
alert (A);//会报错,无法找到A,js严格区分大小写

不能使用js中的关键字和保留值作为变量名

关键字

break、case、catch、continue、default、delete、do、else、finally、for、function、if、 return、switch、this、in、 instanceof、new、throw、try、typeof、var、void、 while、with…

保留字

abstract、boolean、byte、char、class、const、debugger、double、enum、export、extends、final、float、goto、 implements、import、int、interface long、native、package、private、protected、public、 short、super、static、synchronized、throws、transient、volatile …
切记: 改变关键字和保留字的中字母的大小写也是一样不行的

命名的时候一定要贴近所需变量的意思或意义,方便以后查找和维护

例如:名字 name、年龄 age、性别 sex…

命名规范

Camel标记法(小驼峰):采用第一个字符首字母小写,其他字符首字母大写
Pascal标记法(大驼峰):所有首字母大写
匈牙利标记法:i代表整数 iMyAge s代表字符串 sMyName

变量的声明与赋值

es5:使用关键字 var, var 变量名
例如:var a = 2;定义一个变量a,并给它赋值2
es6: let(定义变量) const(定义常量)

var num = 3;//声明变量并赋值
var num;
num = 2;
//先声明后赋值
var myName,myAge,mySex,Toast;
myName = "小明";
myAge = 18;
mySex = "男";
Toast="我的名字是:"+myName+",今年"+myAge+"岁,我的性别是:"+mySex;
变量的作用域
全局变量

如其名,是全局的,它定义在函数之外,作用范围是整个函数,在声明变量的时候,凡是没有带var关键字自接赋值的都是全局变量

局部变量

定义在函数体之内,只对该函数起作用其他函数不可见

访问规则:

函数体内的可以访问父函数的变量,父函数不可以访问子函数的变量
可以使用闭包的方式改变变量的作用域

<script>
		var str_father="im am boy!"//定义一个全局变量
		function my()//定义一个函数,名为my,命名是自定义
			var str = "this is my !";//声明变量并赋值
			var num = "3";//声明变量并赋值
			console.log(str_father);//控制台输出全局变量
			console.log(str);//控制台输出局部变量
			if(num==1)//if条件判断,符合条件执行,否则不执行
				var str_child = "gun";
				alert(str);//弹出变量
				console.log(str_father);//控制台输出全局变量
			else
				alert("if不行")
			
		
</script>
变量的覆盖
			var str_long = "this is long!";//定义变量
		console.log(str_long);//输出变量
		var str_long;
		console.log(str_long);//直接声明不赋值,变量不会改变
		var str_long = "this is short!";//声明并赋值,变量会被覆盖
		console.log(str_long);
		//省略关键字var
		str_short = 123;
		console.log(str_short);//直接赋值,全局变量,建议不要使用
		//str_num;
		//console.log(str_num);//不使用var,不赋值,会报错
基础算术符号计算
<script>
			var int_num = 10;//定义一个变量,并赋值
			var float_num = 20.2;//定义一个变量,赋一个浮点型数字
			//+ - * / 先加减后乘除 先括号里的后外面(说实话,感觉和数学区别不大)
			var a=10;
			var b=20;
			var c= a+b;
			console.log(c);
			var d = a-b ;
			console.log(d);
			var e=a*b;
			console.log(e);
			var f = a/b;
			console.log(f);
			var g = a*(a+b)-(a-b);
			console.log(g);
	</script>
非数字

NaN(not a number)

var str="你好";
			var str_change= Number(str);//Number() 把括号里的变量转为数值
			console.log(str_change);//NaN,因为文字是无法转换为数字的
			
			function my()//封装成了函数,需要调用
				if(isNaN(str_change))//isNaN 判断一个值是否为NaN
					alert("not");
				else
					alert("yes");
				
			

写在html代码中(函数名一定要对应,否则会调用失败)

<button onclick="my()">请点击</button>
isNaN的使用
	var num1 = "147";
			var str00 = "hllow";
			var num2 = Number(num1);
			var str3= Number(str00);
			console.log(isNaN(num2));//false
			console.log(isNaN(str3));//true
			//isNaN判断一个值是否是非数字
			//是就返回true 不是就返回false
字符串的输出与拼接
//string字符串,字符串是以单引号或者双引号括起来的任意文本,
			//单引号或者双引号成对出现
			var str_string="123";//定义一个变量
			var str_01 = "他说:'明天'";//双引号包单引号
			var str_02 = '他说:"晚上"';//单引号包双引号
			
			console.log(str_01);
			console.log(str_02);
			var str_03= "他说:'听天书\\"明天\\"'";//Unexpected identifier 意外的标识符
			//\\  \\转义,单引号里包双引号再包单引号时,需要使用转义符
			console.log(str_03);
			var str_04 = "小明";
			var sAge = "18";
			var sLoaction = "广州";
			var info = "他的名字叫"+str_04+",他今年"+sAge+"岁,是"+sLoaction+"本地人";
			//ES5字符串用+拼接并赋值
			var info01 = `他的名字叫$str_04,他今年$sAge岁,是$sLoaction本地人`;
			//ES6字符串用``拼接,使用$包变量
			console.log(info);
			console.log(info01);

操作字符串①

			//length返回字符串的长度
			var str_len="wasdsafsddfssd";
			console.log(str_len.length);//length 返回字符的长度,包括空格
			console.log(str_len[4]);//返回指定字符
			
			//toUpperCase()把字符串全部变成大写
			console.log(str_len.toUpperCase());
			var str_case = str_len.toUpperCase();
			//把表达式中的结果赋值给变量
			
			//toLowerCase()把字符串全部变成小写
			console.log(str_case.toLowerCase());
			
			/*
			 indezOf()和lastIndexOf()
			 indexOf从前往后搜索
			 lastIndexOf()从后往前搜索
			 * */
			console.log(str_len.indexOf("a",3));
			/*
			 indexOf从前往后搜索,返回第一个符合参数的指定位置
			 indexOf(a,b)a,b是index的两个参数,第二个参数可选;
			 第一个参数是指定的要搜索的字符,第二个是搜索的起始位置,它返回下标
			 * */
			console.log(str_len.lastIndexOf("a",5));
			/*
			 lastIndexOf从后往前搜索,返回第一个符合参数的指定字符的位置
			 lastIndexOf(a,b)a,b是lastIndexOf的两个参数,第二个参数可选;
			 第一个参数是指定的要搜索的字符,第二个是搜索是指定字符的个数(从前往后搜索),
			 返回最后一个符合条件的字符的下标
			 * */
			console.log(str_len.indexOf("v"));//搜索不到返回-1
操作字符串②(截取)
			var str_len="wasdsafsddfssd";
			console.log(str_len.charAt(3,9));//chartAt()返回指定下标所代表的字符串
			
			/*
			 返回子字符串:slice(),substring(),substr(),从某个字符串中获取一段字符串
			 第二个参数是字符串的终止位置,不包括终止位置的那个字符,如果只有一个参数,是起始位置的参数,
			 默认获取从起始位置到最后的所有字符作为子字符串,不改变原来的字符串
			 * */
			var str_slice = str_len.slice(3,8);
			console.log(str_slice);
			var str_string = str_len.substring(3,9);
			console.log(str_string);
			
			var str_other = str_len.slice(3);//slice()只有一个参数,是起始位置
			console.log(str_other);//默认是获取从起始位置到结尾的所有字符
			
			/*
			 slice()和substring()的区别,在对于负数的处理,slice()是从字符串的结尾往前计数,
			 substring()对负数直接忽略,作为0来处理,并把最小的作为起始位置,大的作为结束位置
			 * */
			var str_an = str_len.slice(3,-5);//参数二为负数,表示从字符串的末尾往前计数
			console.log(str_an);
			
			var str_sub = str_len.substring(3,-5);
			//相当于str_len.substring(3,0); 也就是str_len。substring(0,3);
			console.log(str_sub);
			
			//substr(),接受两个参数,第一个是起始位置,第二个子字符串是长度
			var str_str = str_len.substr(0,9);
			//从第一个字符开始,截取9个字符长度
			console.log(str_str);
算术运算符
//算术运算符:+、-、*、/、%
//+ 用于加法
			var sum_jia = 1+1;
			console.log(sum_jia);//加法运算
			
			//+用于字符串拼接,任意类型的数据和字符串拼接后都会是字符串
			var num = 18;
			console.log(typeof(num));//typeof()检测数据类型
			var str = "他的年龄是:";
			console.log(typeof(str));
			var totle = str+num;//任意类型的数据和字符串拼接后都会是字符串
			console.log(typeof(totle));
			console.log(totle);
			
			//-用于减法
			var sum_jian = 1-2;
			console.log(sum_jian);
			
			//*用于乘法
			var sum_cheng = 1*2;
			console.log(sum_cheng);
			
			// /用于除法,被除数不能为零,为零则会得到无穷大,也不建议用小数
			var sum_chu = 1/2;
			console.log(sum_chu);
			
			//%求余
			var sum_yu = 5%3;
			console.log(sum_yu);
变量的自加减①
			var a = 1;
			var b = a++;
			console.log(b);//1
			console.log(a);//1
			var c=++b;
			console.log(c);//2
			
			var sum_a = 4;
			var sum_b = --sum_a;
			console.log(sum_b);//3
			console.log(sum_a);//3
			
			var sum_c = sum_a++;
			console.log(sum_c);//3
			console.log(sum_a);//4
			
			var sum_d=sum_b--;
			console.log(sum_d);//3
			console.log(sum_b);//2
			
			var sum_e = sum_b;
			console.log(sum_b);//2
			console.log(sum_e);//2

例子一:

			var num_a = 10;
			var num_b = 20;
			if(num_a*num_b)
				num_a++;
				num_b--;
				var sum_num1 = num_a+num_b;
				//num_a 已经是自增过后的,11
				//num_b 已经是自减过后的,19
				console.log(sum_num1);//30
			else
				num_a--;
				++num_b;
				var sum_num2 = num_a+num_b;
				//num_a 已经自减过后,9
				//num_b  已经自增过后,21
				console.log(sum_num2);
			

例子二:

	//+= 相加后再赋值
			var sum_num3 = 3;
			var sum_num4 = 4;
			sum_num4+=sum_num3;//相当于sum_sum4 = sum_4+sum_3;
			console.log(sum_num4);
			
			var sum=0;
			 for(var i=o;i<=100;i++)//for()循环,满足条件一直执行
			 	sum+=i;//相当于sum = sum + i;
			 	console.log(sum);
			 	console.log(i);
			 
变量的自加减②
			//+=相加后再赋值
			var sum_str = "这个数字为:";
			sum_str += sum_num3;//拼接字符
			console.log(sum_str);
			console.log(typeof(sum_str));//String类型
			
			//-=相减后再赋值
			var sum_num5 = 6;
			sum_num5-= sum_num4;
			console.log(sum_num5);
			
			//*=相乘后再赋值
			var sum_num6 = 7;
			sum_num6 *= sum_num6;
			console.log(sum_num6);
			
			// /=相除后再赋值
			var sum_num7 = 8;
			sum_num7 /=sum_num6;
			console.log(sum_num7);
			
			// %=求余后再赋值
			var sum_num8 %= sum_num6;
			console.log(sum_num8);
			console.log(sum_num6);
			
			//=、==、===的区别
			/*
			 = 赋值,将右边的赋值给左边
			 == 全等,数值类型相等,先自动换数据类型再比较
			 === 绝对等于,数值、类型严格相等
			 * */

以上是我一个星期的入门基础学习,后续补全。
欢迎各位大神前来指教,也欢迎想要学习的伙伴一起探讨!!!

SpringBoot一天快速入门,超级肝货!

目前springboot已经成为主流的框架技术,为了帮助小伙帮更快的掌握SpringBoot,我们搞了SpringBoot的快速入门。

所谓快速入门一定要快,不是三个月,也不是一个月,而是一天。

视频的效果更好,因此视频也安排了。

全部都进行了开源:

SpringBoot一天快速入门

1.Spring Boot概述

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。

2.什么是 Spring Boot

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。

3.使用 Spring Boot 有什么好处

回顾我们之前的 SSM 项目,搭建过程还是比较繁琐的,需要:

1)配置 web.xml,加载 spring 和 spring mvc

2)配置数据库连接、配置日志文件

3)配置加载配置文件的读取,开启注解

4)配置mapper文件

.....

现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!

但是如果使用 Spring Boot 呢?

很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套 Web 项目或者是构建一个微服务!

划重点:简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。 

4.Spring Boot快速搭建

4.1插件构建

1)Eclipse—Help—Eclipse MarketPlace…Search输入STS,选择Spring Tools...

 

2)new—other—Spring starter Project

如果大家还是不会操作,看上面的视频比较详细一些。 

如果用Idea开发工具,上面都不用操作了。

groupId和artifactId是maven管理项目包时用作区分的字段,就像是地图上的坐标。

groupId:groupId分为几个字段,例如com.piggy,前面的com叫【域】,后面的是你自己起的域名。

artifactId:artifactId一般是项目名或者模块名。

4.2 网站下载demo

1) 访问 http://start.spring.io/

2) 选择构建工具 Maven Project、Java、Spring Boot 版本以及一些工程基本信息。

3) 点击 Generate Project 下载项目压缩包

4) 解压后,Import -> Existing Maven Projects -> Next -> 选择解压后的文件夹 -> Finsh

我们来了解一下默认生成的有什么:

SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序

SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文

application.properties:一个空的 properties 文件,可以根据需要添加配置属性

pom.xml: Maven 构建说明文件

5. 项目结构介绍

Spring Boot 的基础结构共三个文件:

1) src/main/java 程序开发以及主程序入口

2) src/main/resources 配置文件

3) src/test/java 测试程序

package com.dahaiwuliang.springboot.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 测试控制器
 */
@RestController
@RequestMapping("/hello")
public class HelloController {

	@RequestMapping("/helloMethod")
	public String hello() {
		return "Hello Spring Boot !";
	}
}
package com.dahaiwuliang.springboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 测试jsp
 */
@Controller
@RequestMapping("/jsp")
public class JSPController {

	@RequestMapping("/gotoJSP")
	public String gotoJSP(Model m) {
		m.addAttribute("info", "Spring Boot后台传来的信息");
		return "jspPage";
	}
}
package com.dahaiwuliang.springboot.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.dahaiwuliang.springboot.mapper.StudentMapper;
import com.dahaiwuliang.springboot.pojo.Student;

/**
 * Student 控制器
 */
@Controller
public class StudentController {

	@Autowired
	StudentMapper studentMapper;

	@RequestMapping("/listStudent")
	public String listStudent(Model model) {
		List<Student> students = studentMapper.findAll();
		model.addAttribute("students", students);
		return "listStudent";
	}
}

另外, Spring Boot 建议的目录结果如下:
root package 结构:
com.example.myproject

com

  +- example

    +- myproject

      +- Application.java

      |

      +- model

      |  +- Customer.java

      |  +- CustomerRepository.java

      |

      +- service

      |  +- CustomerService.java

      |

      +- controller

      |  +- CustomerController.java

      |

1) Application.java 建议放到根目录下面,主要用于做一些框架配置

2) model 目录主要用于实体与数据访问层(Repository)

3) service 层主要是业务类代码

4) controller 负责页面访问控制

采用默认配置可以省去很多配置,当然也可以根据自己的喜好来进行更改。
最后,启动 Application main 方法,至此一个 Java 项目搭建好了!

大家可以具体的去看上面的视频教程,更详细。

 

6.Spring Boot 默认模块

pom.xml 文件中默认有两个模块:

1) spring-boot-starter :核心模块,包括自动配置支持、日志和 YAML,如果引入了 spring-boot-starter-web web 模块可以去掉此配置,因为 spring-boot-starter-web 自动依赖了 spring-boot-starter

2) spring-boot-starter-test :测试模块,包括 JUnit、Hamcrest、Mockito。

 

下期继续更新,一天入门SpringBoot,废话不说,直接上干货。

点个赞,点个关注,防止找不到。

以上是关于javaScript快速入门(仅需一天)的主要内容,如果未能解决你的问题,请参考以下文章

一天入门基本的数据结构与算法

JavaWeb--快速入门JavaScript

JavaScript快速入门

vue.js快速入门

JavaWeb基础知识:JavaScript快速入门

Vue.js 十五分钟快速入门