目录

一:javaScript函数

  • 在python定义函数需要用到关键字def
1.函数关键字

在js中定义函数需要用到关键字function

2.格式
function 函数名(形参1,形参2,形参3){函数体代码}
3.无参函数
function func1(){
console.log('hello world')
} func1() //调用 加括调用 跟python是一样的
4.有参函数
function func2(a, b){
console.log(a, b)
} func2(1,2) //调用函数(传参) func2(1, 2, 3, 4, 5, 6, 7, 8, 9) //多了没关系 只要对应的数据 1 2 func(1) //少了也没关系
1 undefined

二:关键字arguments

1.能够获取函数接受的索引参数
function func2(a, b){
console.log(arguments) //能够获取函数接受的索引参数
console.log(a, b)
}
2.关键字arguments(限制函数不能多也不能少)
function func2(a, b){
if(arguments.length<2){
console.log('传少了')
}else if (arguments.length>2){
console.log('传多了')
}else{
console.log('正常执行')
}
}

三:函数返回值 关键字return

1.格式
function index(){
return 666
}
2.测试是否能返回多个元素
function index(){
return 666,777,888,999
}
res = index();
999
res
999 // 只能拿到最后一个
3.把返回值做成 数组形式返回(可实现多元素返回)
function index(){
return [666,777,888,999]
}
res = index()
(4) [666, 777, 888, 999]
res
(4) [666, 777, 888, 999]
  • js不支持解压赋值

四:匿名函数(就是没有名字)

function(){
console.log('哈哈')
}
var res = function(){
console.loh('哈哈')
}

五:箭头函数

1.箭头函数
箭头左边的是形参  右边是返回值
var func1 = v => v; 上面等价于下面这句 var func1 = function(v){
return v
}
2.箭头函数案例2
var func2 = (arg1,arg2) => arg1+arg2
等价于
var func2 = function(arg1,arg2){
return arg1+arg2
}

六:函数的全局变量与局部变量

1.局部变量
在javaScript函数内部声明的变量(使用var)是局部变量,索引只能在函数内部访问它(该变量的作用域是函数内部)。只要函数运行完毕,本地变量就会被删除。
2.全局变量
在函数外声明的变量是全局变量,网页上的所有脚本和函数都能访问它。
3.变量生存周期
1.javaScript变量的生命周期从它们被声明的时候开始
2.局部变量会在函数运行以后被删除
3.全局变量会在页面关闭后被删除
4.作用域
首先在函数内部查找变量,找不到则到外部函数查找,逐步找到最外层。与python作用域关系查找一模一样!
5.函数全局局部进程案例
var city = "BeiJing";
function f() {
var city = "ShangHai";
function inner(){
var city = "ShenZhen";
console.log(city);
}
inner();
} f();
shenZhen
var city = "BeiJing";
function Bar() {
console.log(city);
}
function f() {
var city = "ShangHai";
return Bar;
}
var ret = f();
ret(); Beijing
6.闭包
var city = "BeiJing";
function f(){
var city = "ShangHai";
function inner(){
console.log(city);
}
return inner;
}
var ret = f();
ret(); ShangHai

七:自定义对象(字典)

JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等。在JavaScript中,对象是拥有属性和方法的数据。
我们在学习基本数据类型的时候已经带大家了解了,JavaScript中的Number对象、String对象、Array对象等。
注意var s1 = "abc"和var s2 = new String("abc")的区别:typeof s1 --> string而 typeof s2 --> Object

1.自定义对象
  • 简介
你可以看成是我们python中的字典 但是js中的自定义对象要比python里面的字典操作起来更加方便
2.创建自定义对象 {}

var d1 = {'name':'jason','age':18}

3.第一种方式 创建自定义对象
var d = {'name':'jason','age':18}
typeof d
'object' d['name']
'jason' d.name
'jason' d.age
18
4.支持for循环
  • 支持for循环 暴露给外界可以直接获取的也是键
for(let i in d){
console.log(i,d[i])
} name jason
age 18
5.第二种自定义对象的方式(new)
第二种创建自定义对象的方式 需要使用关键字 new
var d2 = new Object()

d2.name = 'jason'
d2
{name: 'jason'} d2['age'] = 18
d2
{name: 'jason', age: 18}

八:Date对象

1.格式
let d3 = new Date()

Sun Jan 23 2022 16:15:29 GMT+0800 (中国标准时间)

2.格式化时间

d3.toLocaleString()

'2022/1/23 下午4:15:29'

3.也支持自己手动输入时间(自定制)

let d4 = new Date('2200/11/11 11:11:11')

d4.toLocaleString()

'2200/11/11 上午11:11:11'

4.起始月份

let d5 = new Date(1111,11,11,11,11,11)

d5.toLocaleString() // 月份从0开始0-11月

'1111/12/11 上午11:11:11'

九:时间对象方法

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

十:JSON对象

1.python与js序列化对比
在python中序列化反序列化
dumps 序列化
loads 反序列化 在js中也有序列化与反序列化
JSON.stringify()
JSON.parse()
2.js序列化使用
let d7 = {'name':'jason','age':18}

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

十一:RegExp对象

1.简介
在python中如果需要使用正则 需要借助re模块
在js中需要你创建正则对象
2.第一种正则格式

new代表创建对象

let regl = new RegExp('^[a-zA-Z][a-zA-z0-9]{5,11}')
3.第二种 推荐使用
let reg2 = /^[a-zA-Z][a-zA-Z0-9]{5,11}/

匹配内容
reg1.test('woshidashuaibi')
res2.test('woshidashuaibi')
4.获取字符串里面所有的字母s
let sss = 'nish asoswo shi'
sss.match(/s/) // 拿到一个就停止了
5.解决拿到一个就停止的问题,使用全局匹配/g
sss.match(/s/g)  // 全局模式
(4) ['s', 's', 's', 's']
6.正则全局匹配模式注意事项
let reg3 = /^[a-zA-Z][a-zA-Z0-9]{5,11}/g

reg3.test('egondsb')  // 全局模式有一个lastindex属性
true
reg3.test('egondsb')
false
reg3.test('egondsb')
true
reg3.test('egondsb')
false reg3.test('egondsb')
true
reg3.lastIndex
7
reg3.test('egondsb')
false
reg3.lastIndex
0

7.注意事项二
let reg4 = /^[a-zA-Z][a-zA-Z0-9]{5,11}/
reg4.test() reg4.test() //什么都不传 默认的是undefined
true
reg4.rest()
true 验证是否什么都不传为undefined
reg4.test(undefined)
true

十二:Math对象

abs(x)      返回数的绝对值。
exp(x) 返回 e 的指数。
floor(x) 对数进行下舍入。
log(x) 返回数的自然对数(底为e)。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
round(x) 把数四舍五入为最接近的整数。
sin(x) 返回数的正弦。
sqrt(x) 返回数的平方根。
tan(x) 返回角的正切。
Math

前端基础之javaScript(函数)的更多相关文章

  1. 前端基础之JavaScript day51

    前端基础之JavaScript   JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中) ...

  2. 进击的Python【第十四章】:Web前端基础之Javascript

    进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编 ...

  3. 前端第三篇---前端基础之JavaScript

    前端第三篇---前端基础之JavaScript 一.JavaScript概述 二.JavaScript的基础 三.词法分析 四.JavaScript的内置对象和方法 五.BOM对象 六.DOM对象 七 ...

  4. day34 前端基础之JavaScript

    day34 前端基础之JavaScript ECMAScript 6 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分.实际上 ...

  5. 03 前端基础之JavaScript

    目录 前端基础之JavaScript JavaScript JavaScript注释 变量与常量 基本数据类型 number类型 string类型 boolean类型 null与undefined类型 ...

  6. 基础的JavaScript函数

    基础的JavaScript函数 1.首字母大写 2.去除数组重复项 3.数组的排序 4.闭包 1. 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字(使用JavaScript的map函 ...

  7. 前端基础之JavaScript(Day53)

    阅读目录 一.JavaScript基础 二.JavaScript对象 三.BOM对象 一.JavaScript基础 http://www.cnblogs.com/yuanchenqi/articles ...

  8. 前端基础之JavaScript进阶

    一.流程控制 if - else var a = 10; if (a >5){ console.log("yes"); }else { console.log("n ...

  9. 零基础讲解JavaScript函数

    一 JavaScript函数1 什么是函数  函数是一组代码(指令)的集合,通常用来完成某个单一的功能.(书的目录和章节,电视剧剧集的名称等)2 为什么要使用函数  2.1 把复杂程序划分成不同的功能 ...

随机推荐

  1. 【LeetCode】346. Moving Average from Data Stream 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 队列 日期 题目地址:https://leetcode ...

  2. 【九度OJ】题目1205:N阶楼梯上楼问题 解题报告

    [九度OJ]题目1205:N阶楼梯上楼问题 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1205 题目描述: N阶楼梯上楼问题:一次 ...

  3. 【LeetCode】468. Validate IP Address 解题报告(Python)

    [LeetCode]468. Validate IP Address 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: h ...

  4. mac学习Python第二天:开发工具安装、编程方式、中文编码、syntaxError语法错误、注释、语法格式

    一.python集成开发工具Visual Studio Code安装配置 1.官网下载安装VSCode 官网地址 https://code.visualstudio.com/下载软件包 VSCode ...

  5. 洛谷 P1439 【模板】最长公共子序列(DP,LIS?)

    题目描述 给出1-n的两个排列P1和P2,求它们的最长公共子序列. 输入输出格式 输入格式: 第一行是一个数n, 接下来两行,每行为n个数,为自然数1-n的一个排列. 输出格式: 一个数,即最长公共子 ...

  6. 家用路由器也能充当Web服务器?路由器插件开发心得

    起因 最近刚刚结束考研,开始有时间写文章了.在复习的时候中,经常忍不住折腾各种东西,于是有一天看中了我手上的华为路由器.什么?华为路由器,你可能有这样的疑问,华为路由器不是自研的芯片吗,就像我手上这台 ...

  7. [OpenCV]基于特征匹配的实时平面目标检测算法

    一直想基于传统图像匹配方式做一个融合Demo,也算是对上个阶段学习的一个总结. 由此,便采购了一个摄像头,在此基础上做了实时检测平面目标的特征匹配算法. 代码如下: # coding: utf-8 ' ...

  8. 解决Web开发HTML页面中footer保持在页面底部问题

    如图所示如何实现footer在内容不足或者浏览器窗口变大变小的时候一直保持在底部呢?请看如下两种解决方案. 第一种方案: footer高度固定+绝对定位 (兼容性比较好完美兼容IE8+)思路:foot ...

  9. 编写Java程序,创建Dota游戏中的防御塔类,通过两个坐属性显示防御塔所在的位置

    返回本章节 返回作业目录 需求说明: 创建Dota游戏中的防御塔类 通过两个坐属性显示防御塔所在的位置 实现思路: 创建防御塔(TowerDefense)类 在该类中定义了两个属性,分别是int类型横 ...

  10. 编写Java程序,将一个int型数组拼接成字符串

    返回本章节 返回作业目录 需求说明: 将一个int数组中的元素拼接成int元素以逗号分隔字符串. 实现思路: 定义一个数组变量int[] arrs = {12,21,33,9,2}. 定义一个方法ar ...