前端JS篇:javascript简介、变量与注释、数据模型

2022.4.27前端之JavaScript(1)

  • JavaScript简介
  • 变量与注释
  • 数据类型

一、JavaScript简介

1、JavaScript与Java没有关系

之所以叫这个名字是当时Java兴起,热度比较高,由此而来

2、JavaScript简称JS

也是一门前端的编程语言,由于前端非常受制于后端,所以有一些人异想天开想要通过js来编写后端代码,由此开发了一个叫nodejs的工具(支持js跑在后端服务器上)>>>:不好用

3、JS存在的问题

JS最初由一个程序员花了七天时间开发的,里面存在很多bug,为了解决这些bug一直在编写相应的补丁,补丁本身又有bug,最后导致了js中有很多不符合逻辑的地方(最后成了大家墨守成规的东西)

4、JavaScript与ECMAScript

JavaScript原先由一家公司开发,希望其他公司都使用,最后被组织改名

5、版本(目前)

ECMA5、ECMA6

二、变量与注释

ps:编写js代码的位置
1.pycharm提供的js文件
2.浏览器提供的js环境(学习阶段推荐)

1、注释语法

// 单行注释

/*
多行注释
*/

2、结束符号

分号结束;

console.log('hello world');  // 打印hello world,分号结束

3、变量声明

在JS中定义变量需要使用关键字声明

// var
var name = 'jason'
// let
let name = 'jason'
// var声明都是全局变量,let可以声明局部变量

4、常量声明

const pi = 3.14  // 设置常量pi为3.14

三、数据类型

查看数据类型的方式:

typeof

1、数值类型(相当于python中的整型int和浮点型float)

Number
// NaN:意思是属于数值类型,但不是一个数字(not a number)
  parseInt('abc')  // 不报错返回NaN,转为整数
  parseFloat('abc')  // 不报错返回NaN,转为小数

2、字符类型(相当于python里面字符串str)

String
// 默认只能是单引号和双引号
var name1 = 'jason'
var name2 = 'tony'
// 格式化字符串小顿号
var name3 = `${name1}`

1.字符串的拼接
	js中推荐使用加号
2.统计长度
	js中使用length/python中使用len()
3.移除空白(不能加参数指定)
	js中使用trim()、trimLeft()、trimRight()
	python中使用strip()、lstrip()、rstrip()
4.切片操作
	js使用substring(start,stop)、slice(start,stop)
	前者不支持负数,后者支持
5.大小写转换
	js中使用.toLowerCase()、toUpperCase()
	python中使用lower()、upper()
6.切割字符串
    js中和python都是用split(),但是有点区别
    ss1 = 'jason say hello big baby'
    ss1.split(' ')
        // ['jason', 'say', 'hello', 'big', 'baby']
    ss1.split(' ', 1)  // 参数1表示留下1个,从左到右
        // ['jason']
    ss1.split(' ', 2)  // 参数2表示留下2个,从左到右
        // ['jason', 'say']
7.字符串的格式化
    js中使用格式化字符串(小顿号``)
    var name = 'jason'
    var age = 18
    console.log(`my name is ${name},my age is ${age}`)
	// my name is jason,my age is 18

3、布尔类型(姓党与python中的布尔值bool)

Boolean(JS中的布尔值)
// js中布尔值是全小写>>>: true false
// 布尔值为false的>>>: 0 空字符串 null undefined NaN
// null:空 undefined:未定义
bool(python中的布尔值)
// python中布尔值首字母大写>>>: True False
// python中布尔值为false的>>>: 0 None 空字符串 空列表 空字典...

4、对象(相当于python中的列表、字典、对象)

(1)数组:Array

// 数组(相当于python中的列表)
Array
var l1 = [11, 22, 33]

1.追加元素
	js中使用push()  // python中使用append()
2.弹出元素
	js和python都用pop()
3.头部插入元素
  	js中使用unshift()  // python中使用insert()
4.头部移除元素
  	js中使用shift()  // python中可以使用pop(0) remove() 
5.扩展列表
  	js中使用concat()  // python中使用extend()
6.forEach
	var l2 = ['jason', 'tony', 'kevin', 'oscar', 'jerry']
        l2.forEach(function(arg1){console.log(arg1)})
        // forEach相当于for循环,括号里相当于函数,arg1相当于形参
	    // VM3143:1 jason
            // VM3143:1 tony
            // VM3143:1 kevin
            // VM3143:1 oscar
            // VM3143:1 jerry
	l2.forEach(function(arg1,arg2){console.log(arg1,arg2)})
	// 多写个参数arg2代表数据所在的索引值
	    // VM3539:1 jason 0
            // VM3539:1 tony  1
            // VM3539:1 kevin 2
            // VM3539:1 oscar 3
            // VM3539:1 jerry 4
	l2.forEach(function(arg1,arg2,arg3){console.log(arg1,arg2,arg3)})
	// 再多写个参数arg3相当于数据的来源
	    // VM3663:1 jason 0 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
	    // VM3663:1 tony 1  ['jason', 'tony', 'kevin', 'oscar', 'jerry']
	    // VM3663:1 kevin 2 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
	    // VM3663:1 oscar 3 ['jason', 'tony', 'kevin', 'oscar', 'jerry']
	    // VM3663:1 jerry 4 ['jason', 'tony', 'kevin', 'oscar', 'jerry']

7.splice(删除和新增列表值)
splice(起始位置,删除个数,新增的值)

(2)自定义对象

# 自定义对象(相当于python里面的字典)
var d1 = {'name':'jason','age':18}

var d2 = new Object()  # 相当于生成了空字典

(3)内置对象

# 内置对象可以看成是python中的内置方法 内置模块等提前写好直接调用
# 1.Date对象
var d1 = new Date()
d1.toLocaleString()			'2022/4/28 10:47:01'
d1.toLocaleDateString()	'2022/4/28'
d1.toLocaleTimeString()	'10:47:01'

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

(4)json对象

# python中如何序列化反序列
import json
  json.dumps()
  json.loads()
# js中如何序列化反序列化
  JSON.stringify()
  JSON.parse()

(5)正则对象

# 创建正则表达式的两种方式
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;  # 推荐使用(简化)
posted @ 2022-04-27 22:24  马氵寿  阅读(367)  评论(0)    收藏  举报