js(二)

API是指应用程序编程接口   js下指提供好的函数或者方法

一、数组API

toString():

reverse()   翻转数组中的元素

sort() 对数组进行排序,默认按照编码排序

sort(function(a,b){

          return a-b;//按照数字从小到大排列

          // return b-a; //按照数字从大到小排列

})

 

 

 

 

如何学习API:API的作用、有哪些参数、哪些参数可选,哪些参数必选,返回结果是什么

concat(arr2,arr3...)      拼接多个数组,arr2,arr3表示要拼接的数组,返回拼接后的数组

slice(start,end)    截取数组元素,start开始的下标,end结束的下标,不包含end本身;如果下标是负数表示倒数,返回截取的元素,格式为数组。

练习:创建数组包含a~f,每个字母是一个元素;分别截取bc,ef;最后将这两组数组拼接成一个新的数组。

var arr = ['a','b','c','d','e','f'];
//截取字符
var str1 = arr.slice(1,3);
var str2 = arr.slice(4);
console.log(str1,str2);
//拼接字符
var str3 = str1.concat(str2);
console.log(str3);

Splice(start,count,v1,v2...)  删除数组中的元素,start开始下标,count(可以为0,即直接添加元素),删除的数量,count为空删除到最后,下标是负数表示倒数;v1,v2...表示删除后补充的元素,返回删除的元素,原数组会发生变化

练习:创建数组包含a~h,删除cd,替换f为m,在下标为1的位置插入z

//练习:创建数组包含a~h,删除cd,替换f为m,在下标为1的位置插入z
var arr = ['a','b','c','d','e','f','g','h']
console.log( arr.splice(2,2));
console.log(arr.splice(-3,1,'m'));
console.log(arr.splice(1,0,'z'));
console.log(arr);

indexOf()   查找数组中是否含有某个元素,返回找到的第一个下标,如果找不到返回-1

push()   往数组的末尾添加元素,返回数组的长度

pop()      删除数组末尾的一个元素,返回删除的元素

unshift()  往数组的开头添加元素,返回数组的长度

shift()      删除数组开头的一个元素,返回删除的元素

 

二、二维数组

用于对一组数据进行二次分类

【【元素1,元素2】,【】,【】,...】

访问:数组【下标】【下标】

三、字符串对象

包装对象目的是为了让原始类数据像引用类型数据,具有属性和方法,一共有三种包装对象:String、   Number  、 Boolean

new String() 将数据转为字符串,返回对象

String()    将数据转为字符串,返回字符串

1、转义字符 \

\'   将特殊意义的引号转义为普通引号

\n  将普通的字符n转义为换行符

\t   将普通的字符t转义为制表符(tab键效果)

练习:打印出‘c:\users\web’

//练习:打印出‘c:\users\web’
var str4 = 'c:\\users\\web';
console.log(str4)

2、API

length   获取字符串长度

charAt(下标)   获取下标对应的字符,也可以使用数组形式,字符串【下标】

面试题:统计一个字符串中出现做多的字符串及次数:

练习:声明变量保存字符串‘javaScript’,遍历字符串,统计出a字符出现的次数

//练习:声明变量保存字符串‘javaScript’,遍历字符串,统计出a字符出现的次数
var str = 'javascript';
//遍历字符串
for(var i = 0, count = 0; i<str.length; i++){
//判断任意一个字符是否为a
    if(str[i] === 'a'){
        count ++;
    }
    //console.log(str[i]);
};
console.log(count);

indexOf()         查看是否含有某个字符串,返回第一次出现的下标,找不到返回-1

lastIndexOf()   查看是否含有某个字符串,返回最后一次出现的下标,找不到返回-1

练习:声明变量保存用户输入的邮箱,如果邮箱中不含有@,打印‘邮箱格式错误’,否则打印‘邮箱格式正确’

//练习:声明变量保存用户输入的邮箱,如果邮箱中不含有@,打印‘邮箱格式错误’,否则打印‘邮箱格式正确’
var str = 'tao123@tedu.cn';
//判断是否含有@字符串
if(str . indexOf('@') === -1){
    console.log('邮箱格式错误');
}else{
    console.log('邮箱格式正确');
}

slice(start,end)   截取字符串,start开始的下标,end结束的下标,不包含end,如果end为空会截取到最后,如果是负数表示倒数,返回截取到的字符串

//练习:声明变量保存邮箱,分别截取出邮箱的用户名和域名   tao123@tedu.cn

//练习:声明变量保存邮箱,分别截取出邮箱的用户名和域名
var email = 'tao123@tedu.cn';
//先查找@字符的下标
var index = email.indexOf('@');
console.log(index);
var username = email.slice(0,index);
var domain = email.slice(index+1);
console.log(username,domain);

substr(start,count)按照长度截取字符串,start开始的下标,count截取的长度,如果count为空截取到最后,如果下标是负数表示倒数,返回截取到的字符串

练习:声明变量保存一个人的身份证号,分别截取生日中的年月日和性别,

最后打印格式:xxxx年xx月xx日  性别x

 

     110235197307151870

//练习:声明变量保存一个人的身份证号,分别截取生日中的年月日和性别,

//最后打印格式:xxxx年xx月xx日  性别x

 //    110235197307151870
var id = '110235197307151870'
var year = id.substr(6,4);
var month = id.substr(10,2);
var day = id.substr(12,2);
var sex = id.substr(-2,1);
//判断性别
var s = sex%2 === 1 ? '男' : '女';
console.log(year + '年' + month +'月' + day + '日'+ '  ' + '性别' + s )

toUpperCase()  英文字母转大写

toLowerCase()  英文字母转小写

split (字符) 将字符串按照指定的字符分割为数组

练习:上传文件——1.jpg    ->  .jpg

 截取文件名称的后缀名    web.2014.tao.jpg

//截取文件名称的后缀名    web.2014.tao.jpg
var str = 'web.2014.tao.jpg'
var arr = str.split('.');
console.log(arr);
//打印最后一个元素
console.log(arr[arr.length-1]);

三、Math对象

不需要new来创建对象,可以直接使用对象下的API

PI:   获取圆周率

abs() 获取绝对值

ceil() 向上取整

floor()向下取整

round() 四舍五入取整

random()获取随机,范围 >=0    <1

 pow(x, y)  计算x的y次方

 max()   获取一组数字的最大值

 min()  获取一组数字的最小值

 

 

课后任务:

(1)复习,思维导图

(2)练习:

将一句英文中每个单词的首字母大写,其余字母小写

hOw aRe yOU   ->     How  Are   You

//将一句英文中每个单词的首字母大写,其余字母小写

//hOw aRe yOU   ->     How  Are   You
var str = 'hOw aRe yOU'
//将字符串按照空格字符分割为数组
var arr = str.split(' ');
//console.log(arr)
//循环遍历数组
for(var i = 0; i < arr.length; i++){
    //截取数组首字母转大写
    var s = arr[i].slice(0,1).toUpperCase();
    //截取数组剩余字母转小写
    var o = arr[i].slice(1).toLowerCase();
    //重新拼接
    arr[i] = (s+o);
}
console.log(arr.join(' '));

随机获取a~z之间的四个字母   放到一个新数组

格式:【‘b’,'c','z','t'】

(3)预习js第九天,重点Date对象

 

 

双色球

红球:在1~33之间随机取6个,不能重复,放入到数组,进行从小到大的排序

蓝球:在1~16之间随机取1个,这个数字可以和之前的红球重复,放入到数组

  [2 ,3, 9, 20, 30, 33, 9]

 

四、Date对象

 用于对日期时间的存储和计算

 (1)创建

  new Date('2021/5/18 10:27:30')

  new Date(2021,4,18,10,27,30)  月份0~11 对应1月~12月

  new Date()   存储当前操作系统的时间

  new Date(1608336000000)   存储的是距离计算机元年的毫秒数,会产生一个具体的日期时间

    计算机元年:0时区1970-1-1 0:0:0

 (2)获取存储的日期时间

  getFullYear/getMonth/getDate

     获取的月份0~11   对应1~12月

  getHours/getMinutes/getSeconds/getMilliseconds毫秒

  getDay  获取星期 0~6  对应星期日~星期六

  getTime  获取距离计算机元年的毫秒数

  练习:创建Date对象,保存当前操作系统的时间,获取日期时间,打印以下格式     今天是xxxx年xx月xx日 xx时xx分xx秒  星期二

 (3)转为本地字符串格式

  存在兼容性问题,常用于调试

  toLocaleString()   日期+时间

  toLocaleDateString()   日期

  toLocaleTimeString()   时间

 (4)设置日期时间

  修改Date对象中存储的日期时间

  setFullYear/setMonth/setDate

   月份1~12  对应的值  0~11

  setHours/setMinutes/setSeconds/setMilliseconds

  setTime   设置距离计算机元年的毫秒数,产生一个具体的日期

 (5)拷贝Date对象

   var d1 = new Date();

   var d2 = new Date(d1); //拷贝d1对象

  练习:创建Date对象,保存'2020/5/20',作为入职时间;拷贝入职时间的对象作为到期时间,设置合同期为3年(3年后);分别打印两个对象的本地字符串格式。

五、Number对象

 new Number()  将数据转为数值,返回对象

 Number()   将数据转为数值,返回数值

 toFixed(n)  保留小数点后n位

 toString(n)  将数值转为字符串,可以设置显示的进制

六、Boolean对象

 new Boolean()  将数据转为布尔型,返回对象

 Boolean()  将数据转为布尔型,返回布尔型

 !!  隐式转换为布尔型  

    !!null   ->  false

七、错误处理

 (1)常见的错误

  语法错误(SyntaxError):不符合语法规范,例如出现中文的符号,缺少半块括号

  引用错误(ReferenceError):使用了未声明的变量

  类型错误(TypeError):把一个非函数当做函数调用

  范围错误(RangeError):数据的使用超出了JS的规定范围

  自定义错误:程序员自己制定的错误

     throw  错误内容

 (2)错误处理

  在运行过程中产生的错误,不再影响后续代码的执行

try{

  尝试执行,可能产生错误,一旦产生会被catch捕获

}catch(err){

  将错误信息放入到err中,不再影响后续代码执行

  进行错误处理

}

课后任务

 (1)复习今天内容,整理思维导图

 (2)练习

   创建函数,传递任意一个日期,返回这一天是一年中的第几天

     例如  getDays(2021,5,18)

 

 (3)预习nodejs第一天

 

 

八、ES6

 ECMA  ->  ECMAScript  ->  ES

              标准规范

 ES6  js的第6套标准规范

 ES7  ES8  ...

 ES2015   ES2016   ES2017

https://nodejs.org/download/release/v12.22.1/node-v12.22.1-x64.msi

(1)块级作用域

let a = 1;

let 声明的变量不存在提升,在同一个作用域下,不允许重复声明同一个变量

大括号之间的语句块就是一个块级作用域,例如if、else、while、do-while、for...在块级作用域下,let和const声明的都是局部的

var     let    const    三个区别

var 声明的变量存在提升,在同一个作用域下可以重复声明同一个变量

let  声明的变量不存在提升,在同一个作用域下不允许重复声明同一个变量,存在块级作用域,即使在全局作用域下let声明的变量 也不是全局的

const 声明变量的时候必须赋值,不允许重新赋值,存在块级作用域

 

 

 

 

练习:计算1~100之间所有整数的和,使用 let声明变量

//练习:计算1~100之间所有整数的和,使用 let声明变量
let sum = 0;
for(let i = 1; i <= 100; i++){
    sum += i;
}
console.log(sum);

(2)参数增强

可以给函数的参数设置默认值

function    fn(a, b, c = 0){

//c = c || 0;         //es6之前设置默认值的方式

}

fn(10000,2000) //没有出现的实参就会使用默认值

 

 

 

 

(3)箭头函数:()=>{  }

简化匿名函数写法0,不等价于匿名函数

sort((a,b)=>{

return a - b;

})

 

 

 

如果箭头函数的函数体中只有一行代码并且是return形式,可以简化为sort((a,b)=> a-b);

练习:使用函数表达式创建函数,将之前的匿名函数使用箭头函数,计算任意3个数字的平均值并返回结果。

 

(4)模板字符串

`模板字符串:${js表达式}`

练习:声明变量保存一条员工数据,格式为对象,包含的属性有编号,姓名,性别(1/0),工资,最后打印以下格式

编号:X

姓名:xx

性别:男/女

工资:xxxx.00元

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Workbench是一个用于创建和自定义业务流程的工具。通过JavaScript的次开发,可以为Workbench添加更多功能和定制化选项。 第一步是了解Workbench的基本架构和API。Workbench使用SoqlQuery语言查询数据库,并使用JavaScript、HTML和CSS构建用户界面。理解这个架构和API是进行次开发的基础。 之后可以根据需求进行功能的开发和定制。比如,可以添加自定义的表单和字段,以满足特定的业务需求。也可以通过JavaScript添加逻辑和流程控制,使得系统更加智能和灵活。 另外,可以通过JavaScript进行一些数据处理和操作。比如,可以通过JavaScript计算字段值、验证用户输入、处理数据关联等。这样可以扩展和增强Workbench的数据处理能力。 在进行次开发之前,需要先对Workbench进行配置和准备。可以通过Workbench的管理界面添加自定义对象、字段和布局,以及定义业务流程和权限控制等。 最后,测试和部署是次开发过程中的重要环节。通过测试可以保证开发的功能和逻辑是正确的。部署则是将开发好的功能发布到正式环境,供用户使用。 总的来说,Workbench的JavaScript次开发可以通过扩展和定制功能,增加系统的灵活性和可用性。通过了解和熟悉Workbench的架构和API,以及进行开发和部署,可以实现满足特定需求的定制化系统。 ### 回答2: workbench是一个用于开发和定制Salesforce平台的工具。它提供了许多功能,使开发人员能够创建和修改JavaScript代码以扩展Salesforce应用程序的功能。 在workbench中进行JavaScript次开发,开发人员可以使用JavaScript语言来编写自定义代码,以满足特定业务需求。他们可以通过workbench的集成开发环境(IDE)编辑和调试JavaScript代码,并使用Salesforce平台的API来访问和操作数据。 通过workbench进行JavaScript次开发,开发人员可以创建自定义按钮、自定义页面和验证规则等,以增强和定制Salesforce应用程序的功能。他们可以使用JavaScript来处理用户的输入和操作,并对数据进行验证和处理。通过使用workbench的开发工具,如代码编辑器和调试器,开发人员可以更轻松地编写和测试JavaScript代码,以确保其正确性和可靠性。 另外,workbench还提供了一些内置函数和库,用于简化JavaScript开发过程。这些函数和库提供了许多常见的功能和操作,如字符串处理、日期计算和数据转换等。开发人员可以利用这些功能来加快开发过程,并减少出错的可能性。 总而言之,workbench是一个强大的工具,可以支持JavaScript次开发。通过使用它,开发人员可以使用JavaScript语言来编写和修改Salesforce应用程序的代码,以实现定制的业务需求。无论是创建自定义按钮、自定义页面还是验证规则,workbench都提供了一系列的功能和工具,帮助开发人员更轻松地开发和测试JavaScript代码。 ### 回答3: Workbench JavaScript次开发是指在Workbench平台上使用JavaScript进行自定义开发的过程。Workbench平台是一个基于Web的集成开发环境,主要用于创建、编辑和管理业务流程和工作任务。 通过JavaScript的次开发,我们可以根据实际需求对Workbench平台进行定制化的扩展和优化。以下是几个常见的次开发场景: 1. 自定义表单:通过JavaScript可以对Workbench平台提供的默认表单进行修改和自定义,实现更符合业务需求的数据展示和填写方式。你可以调整表单的布局、样式,增加自定义的校验和计算逻辑,甚至可以集成其他第三方控件和工具。 2. 定制动作按钮:Workbench平台通常提供了一些默认的动作按钮,比如保存、提交、撤回等。通过JavaScript的次开发,可以新增自定义的动作按钮,并在点击事件中实现特定的逻辑处理,比如调用其他系统接口、发送消息等。 3. 高级查询和筛选:Workbench平台的默认查询功能可能无法满足复杂的查询需求。通过JavaScript次开发,可以实现更灵活的查询和筛选功能,比如添加条件组合、动态生成查询语句等。 4. 数据处理和计算:有时需要对Workbench平台上的数据进行进一步处理和计算。通过JavaScript的次开发,可以编写脚本来实现这些需求,比如对数据进行加减乘除、日期计算等。 总而言之,Workbench JavaScript次开发可以帮助我们对平台进行定制,以满足特定业务需求。在开发过程中,我们需要熟悉Workbench平台的API和事件机制,并结合JavaScript的语法和功能进行开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leprehuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值