首页 > 编程语言 >JavaScript基础1

JavaScript基础1

时间:2022-12-05 18:45:34浏览次数:40  
标签:函数 代码 JavaScript 基础 let 条件 var name

今日内容概要

  • JS简介
  • 变量与常量
  • 基本数据类型
  • 运算符
  • 流程控制
  • 函数
  • 内置对象

今日内容详细

JS简介

全称JavaScript但是与Java一毛钱关系都没有 之所以这么叫是为了蹭Java的热度

它是一门前端工程师的编程语言 但是它本身有很多逻辑错误(不是很严谨)

IT行业鄙视链: 后端>前端、运维、测试、产品、老板
前端想一统天下:node.js

JS发展史>>>:JavaScript很容易学习

JS基础

1.注释语法
	// 单行注释
	/*多行注释*/

2.html引入js的多种方式
	head内script标签内填写
	head内script标签src属性引入外部js资源
	body内最底部通过script标签src属性引入外部js资源(最常用)
	ps:注意页面的加载是从上往下的 所以操作标签js代码一定要等待标签加载完毕再执行 这样页面才可以正常运行

3.结束符号
	分号(很多时候不写也没问题)

变量与常量

'''
1.pycharm创建js文件或者html文件(适合编写较为复杂的js代码)
2.浏览器提供编写js代码的环境
'''
在js中声明变量需要使用关键字
变量:
	var
		var name = 'jason';
	let
		let name = 'kevin';
	二者的区别是let是ECMA6新语法 可以在局部定义变量不影响全局

常量:
	const
		const p = 3.14;
	声明后就无法修改

基本数据类型

数值类型

'''
在JavaScript中查看数据类型使用 typeof
'''
数值类型(Number)
	在JS中整型与浮点型不分家 都叫做Number
	NaN也属于数值类型全称Not A Number 意思是不是一个数字
   
数值类型的常用方法
	parseInt("123.123")  # 返回123 小数点后面的舍弃
	parseInt("ABC")  # 返回NaN,NaN属性是代表非数字值的特殊值。该属性用		于指示某个值不是数字。
	parseFloat("123.456")  # 返回123.456

字符类型

字符类型(String)
	三种形式
		单引号 'kevin'
		双引号 "kevin"
		模板字符串 `kevin`  # 英文输入法数字1左边的键 支持多行字符

字符格式化输出
	let name = 'kevin';
	let age = 18;
	let desc = `my name is ${name} my age is ${age}`;
	console.log(desc)  # my name is kevin my age is 18
在JavaScript中字符串拼接推荐使用加号

字符的常用方法:

方法 说明
.length 返回长度
.trim() 移除空白
.trimLeft() 移除左边的空白
.trimRight() 移除右边的空白
.charAt(n) 返回第n个字符
.concat() 拼接
.indexOf() 子序列位置
.substring() 根据索引获取子序列
.slice() 切片
.toLowerCase() 转小写
.toUpperCase() 转大写
.split() 分割

布尔类型

布尔类型(Boolean)
	JS里面的布尔值与python不同
	JS是纯小写的 而Python中是首字母大写
	true和false
    
在JS中空字符、0、null、underfined、NaN默认布尔类型都是false

null与underfined

null表示值是空 一般在需要制定或者清空一个变量的时候才会使用(曾经拥有过)

underfined表示当声明一个变量但未初始化时 该变量的默认值是underfined 还有就是函数无明确的返回值时 返回的也是underfined(从未拥有过)

null

img

underfined

img

对象

对象(object)
	JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...此外,JavaScript 允许自定义对象。

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性和方法的特殊数据类型

对象之数组(Array)
	使用单独的变量名来存储一系列的值。类似于Python中的列表
	let l1 = ['kevin', 18]
	console.log(l1[1])  # 18
对象之自定义对象(Object)
	类似于Python中的字典 键也只能是字符串
	有两种创建方式
		let d1 = {}
		let d2 = new Object();
	添加数据和取数据通过句点符的方式
	d1.name = 'jason'
	d1.name  # jason

数组的常用方法:

方法 说明
.length 数组的大小
.push() 尾部追加数据
.pop() 获取尾部的数据
.unshift() 头部插入数据
.shift() 头部移除数据
.slice() 切片
.reverse() 反转
.join() 将数组连接成字符串
.concat() 连接数组
.sort() 排序
.forEach() 将数组的每个元素传递给回调函数
.splice() 删除指定元素 并向数组添加新元素
.map() 返回一个数组元素调用函数处理后的值的新数组

运算符

1.算数运算符
	+			加
	-			减
	*			乘
	/			除
	%			取余
	++			自增
	--			自减
	var x = 10;
	var res1=x++;  加号在后面		先赋值再自增
	var res2=++x;	加号在后面		 先自增再赋值
2.比较运算符
	!=		值不等  弱不等
	==		值相等  弱相等
	===		值相等  强相等
	!==		值不等  强不等
	var 5=='5';   # true
	var 5==='5';  # false
	ps:区别在于会不会自动转换类型
3.逻辑运算符
	&&		与
	||		或
	!		非

流程控制

1.单if分支
	if (条件){
        条件成立执行的代码
    }
2.if...else分支
	if (条件){
        条件成立执行的代码
    }else{
        条件不成立执行的代码
    }
3.if...else if...else分支
	if (条件1){
        条件1成立执行的代码
    }else if(条件2){
        条件1不成立条件2成立执行的代码
    }else{
        条件1和2都不成立执行的代码
    }

4.如果分支结构中else if很多的时候还可以考虑使用switch语法
	switch(条件){
        case 条件1:
          条件1成立执行的代码;
        	break;  如果没有break的话会基于某个case一直执行下去
        case 条件2:
          条件2成立执行的代码
          break;
        case 条件3:
          条件3成立执行的代码
          break;
        default:
          条件都不满足执行的代码
    }
	var day = new Date().getDay();
   应用:
	switch (day) {
      case 0:
      console.log("Sunday");
      break;
      case 1:
      console.log("Monday");
      break;
    default:
      console.log("...")
    }

for循环
	for(起始条件;循环条件;条件处理){
        循环体代码
    }
	应用:
	for(var i=0;i<10;i++){
        console.log(i)
    }
	也可以只写一个参数
	let dd = {'name':'jason','age':18}
   for(let k in dd){
        console.log(k)
    }

while循环
	while(循环条件){
        循环体代码
    }

'''
三元运算
	python中:  值1 if 条件 else 值2
	JavaScript中: 条件?值1:值2
'''

函数

'''
python中函数的定义
	def 函数名(形参):
		"""函数注释"""
		函数体代码
		return 返回值
'''
function 函数名(形参){
    // 函数注释
    函数体代码
    return 返回值
}

匿名函数
	var s1 = function(a, b){
        return a + b;
    }

箭头函数
	var f = v => v;
	等同于
	var f = function(v){
        return v;
    }

	var f = () => 5;
	等同于
	var f = function(){
        return 5;
    }

	var f = (num1, num2) => num1 + num2;
	等同于
	var f = function(num1, num2){
        return num1 + num2;
    }

1.JS中函数的形参与实参个数可以不对应
	传少了就把underfined传给少的参数 传多了就不用它
2.函数体代码中有一个关键字arguments用来接收所有的实参
3.函数的返回值如果有多个需要自己处理成一个整体

内置对象

1.Date对象
	var d = Date();
	//getDate()						获取日
	//getDay()						获取星期
	//getMonth()					获取月(0-11)
	//getFullYear()					获取完整年份
	//getYear()						获取年
	//getHours()					获取小时
	//getMinutes()					获取分钟
	//getSeconds()					获取秒
	//getMilliseconds()				获取毫秒
	//getTime()						返回累计毫秒数(从1970/1/1午夜)

2.JSON对象
	var str1 = '{"name": "jason","age":18}';
	var obj1 = {"name":"kevin","age":18};
	//JSON字符串转换成对象
	var obj = JSON.parse(str1);  # 序列化 相当于python中的loads
	//对象转换成JSON字符串
	var str = JSON.stringify(obj1);  # 反序列化 相当于python中的dumps
    
3.RegExp对象
	定义正则的两种方式
		var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
		var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;

		//正则校验数据
		reg1.test('jason666')
		
		/*第一个注意事项,正则表达式中不能有空格*/ 

      // 全局匹配
      var s1 = 'tonydsb dsb dsb';
      s1.match(/s/)
      s1.match(/s/g)
      var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/g;  # 设为全局匹配
      reg2.test('tonydsb');   # true
      reg2.test('tonydsb');   # false
      reg2.lastIndex;
      /*第二个注意事项,全局匹配时有一个lastIndex属性*/

      // 校验时不传参数
      var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/
      reg2.test();
      reg2.test(undefined);

      var reg3 = /undefined/;
      reg3.test();	

标签:函数,代码,JavaScript,基础,let,条件,var,name
From: https://www.cnblogs.com/lzjjjj/p/16953142.html

相关文章

  • JavaScript编程语言
    JavaScript编程语言JavaScript(简称“JS”)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开......
  • JavaScript习题之算法设计题
    //1.九九乘法表for(vari=1;i<10;i++){document.write("<span>");for(varj=1;j<=i;j++){if(j%2==0){......
  • JavaScript习题之填空题
    1.JavaScript有两种引⽤数据类型:__数组___、__对象__。2.Javascript通过__setTimeout___延迟指定时间后,去执⾏某程序。3.Javascript⾥String对象通过__indexOf__⽅法取......
  • JavaScript习题之判断题
    1.JavaScript是Java语言的脚本形式。()2.JavaScript中的方法名不区分大小写。()3.JavaScript语句结束时的分号可以省略。()4.通过外链式引入JavaScript时,可以省略</scr......
  • JavaScript习题之简答题
    1.分别描述HTML、CSS、JS在页面组成中的作用。HTML是超文本标记语言,是用来描述网页的语言,定义网页的结构,内容可以包含文字、图片、视频等。CSS是层叠样式表,定义如何显示HT......
  • Java 编程基础01
    一、Java开发环境搭建1、开发工具的下载和安装   1)下载方式一:官网下载www.sun.com     www.oracle.com   2)下载方式二:通过搜索下载www.baidu.c......
  • JavaScript习题之选择题
    console.log((2==true)+1)会弹出AtrueBfalseC1D2正确答案:C2==true为假,此时值为0 在JS中,“1555”+3的运行结果是A1558B1552C15553D1553正确答案:C解析:155......
  • Linux基础第八章:操作系统引导过程、运行级别及开机问题处理
    一、操作系统引导过程1、开机自检(bios)2、MBR引导3、grub菜单4、加载内核(kernel)5、init进程初始化二、操作系统运行级别(init0-init6)1、init0级别2、init1级......
  • 推荐 10个非常好用的 JavaScript 动画库!!!
    1.Tween.jsTweenJS 是一个简单的 JavaScript 补间动画库。能够很好的和 EaselJS 库集成,但也不依赖或特定于它。它支持渐变的数字对象属性和 CSS 样式属性。AP......
  • 【基础知识】——java集合
    一、背景最近在刷力扣算法题的过程中对于java集合的定义及使用想要达到更加精准的程度,于是有了本次的总结二、目标宏观总结:绘制java集合类图微观:写每个集合常用的代码实现......