前端学习4 JavaScript

JavaScript

一、JavaScript简介

1.JS简介
    JS全程JavaScript但是跟Java半毛钱关系都没有 之所以这么叫是为例蹭热度
    它是一门前端工程师的编程语言 但是它本身有很多逻辑错误(不是很严谨)

2.JS基础
    1.注释语法
    //单行注释
    /*多行注释*/

    2.引入JS的方式
    body内最底部通过script标签属性外部JS资源(最常用)

3.语言结束符号
分号(但是很多时候写不写不影响)

4.编写JS代码的方法
    1.在浏览器:适合编写比较简单的代码
    2.在pycharm:适合编写较为复杂的代码

二、变量与常量

js中变量需要关键字声明
var		var name = 123;
let		let name = 321;

js中常量需要用关键字声明
const pi=3.14;

console.log(变量名); // 相当于print(变量名)

三、基本数据类型

1.数值类型(Number)

查看数据类型的方法typeof

在js中整型与浮点型不分家 
NAN也属于数值类型 意思是:不是一个数字 Not A Number

image

2.字符类型

单引号 'almira'
双引号 "almira"
模板字符串 `almira` 用于格式化输出

字符串拼接推荐加号
'almira' + 'nuriman' = 'almiranuriman'

布尔类型 boolean
js中纯小写 而python中首字母大写

3.null与undifined

	null:表示值为空(曾经拥有过)
undefined:表示没有定义(从来没有过)

这个可以理解为null
image
这个可以理解为undefined
image

4.常见内置方法

JavaScript python 说明
.length .len() 返回长度
.trim() .strip() 移除空白
.trimLeft() .timRight() .lstrip() .rstrip() 移除左右空白
.charAt(n) print(str[n]) 返回第n个字符
.concat(value,...) .join() 拼接
.indexOf(substing,strat) 子序列位置
.slice(start,end) .split('|') 切片
.toLowerCase() .toUpCase() .uper() .lower() 大小写
.split(delimiter,limit) 分割

5.对象(object)

对象之数组(Array)>>>:类似于python中的列表
    let l1 = []
对象之自定义对象(Object)>>>:类似于python的字典
    let d1 = {'name':'almira'}
    let d2 new Object();

四、运算符

1.算数运算符
加减乘除 + - * /
++自增一 --自减一
var res1=x++ 加号在后面 先赋值后自增
var res2=++x 加号在前面 先自增后赋值

2.比较运算符
==(值相等 弱)  ===(值相等 强)
!=(值不相等 弱) ==!(值不相等 强)

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;
       	case 条件4:
        	条件4成立执行的代码;
        	break;
        default:
  			 条件都不满足执行的代码
    }
 
for循环
	for(起始条件;循环条件;条件处理){
        循环体代码
    }
	for(let 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 中的函数定义
def 函数名(形参):
	'''函数注释'''
	函数体代码
	return 返回值
*/


function 函数名(形参){
    // 函数注释
    函数体代码
    return返回值
}

// 1.匿名函数
var si = function(a,b){
    return a + b;
}

// 2.箭头函数
var f = v => v;
var f = function(v){
    return v;
}

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

var sum = (num1, num2) => num1 + num2;
var sum = function(num1, num2){
  return num1 + num2;  
}

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

七、内置对象

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


let dd = {name: 'jason', age: 18}
JSON.stringify(dd)	序列化
JSON.parse(ss)	   反序列化


定义正则两种方式
var reg1 = new RegExp("^[a-zA-Z][a-zA-Z0-9]{5,11}");
var reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,9}$/;
1.全局模式的规律
	lastIndex
2.test匹配数据不传默认传undefined

作业

1.编写代码,将当前日期按“2017-12-27 11:11 星期三”格式输出

const WEEKMAP = {
    0:"星期天",
    1:"星期一",
    2:"星期二",
    3:"星期三",
    4:"星期四",
    5:"星期五",
    6:"星期六"
}; // 定义一个数字与星期的对应关系对象



function showTimes () {
    var d1 = new Date();
    var year = d1.getFullYear();
    var month = d1.getMonth() + 1; // 注意月份是0~11
    var day = d1.getDate();
    var hour = d1.getHours();
    var minute = d1.getMinutes() 
    var week = WEEKMAP[d1.getDay()]; // 星期是从0~6
    var strTime = `
        ${year}-${month}-${day} ${hour}:${minute}: ${week}
        `;
    console.log(strTime)
}
showTimes();

image

posted @ 2022-12-05 20:03  阿丽米热  阅读(23)  评论(0编辑  收藏  举报
Title