方法声明
<script>
function arr(a,b) {
return a+b;
}
let sum=arr(11,12);
window.document.writeln(sum);
// ===========================================
//注意调用方法的在代码中的位置
let sum1=function(arr){
window.document.writeln('吃'+arr)
}
sum1('苹果');
</script>
方法立即执行
在开头使用! + - 的运算符合,最后()的方法只能执行一次
使用()括号包起来,推荐使用,没有返回值参与运算
<script>
//使用! + - 的运算符合只能执行一次
! function arr() {
window.document.writeln('更何况');
}();
// arr();调用无效,只能执行一次
// 使用()括号包起来,推荐使用,没有返回值参与运算
(function arr01() {
window.document.writeln('更何况');
})();
// arr01();一样调用无效,只能执行一次
(function arr02() {
window.document.writeln('更何况');
}());
// arr02()一样调用无效,只能执行一次
</script>
函数
函数声明
Function是JavaScript提供的一种引用类型,通过Function类型创建Function对象。
在JavaScript中,函数也是以对象的形式存在的,每个函数都是一个Function对象。
// 函数表达式 函数声明
function fun01() {
document.writeln('函数表达式');
}
// 函数调用
fun01();
//-------------------------------------------------
function fun1(par) {
document.writeln('函数表达式'+ par);
}
// 函数调用
fun01('可传参');
函数表达式
// 声明式函数
let fun02 = function () {
document.writeln('声明式函数');
};
//调用函数
fun02();
//-----------------------------------------------
let fun2 = function (msg) {
document.writeln('声明式函数'+msg);
};
//调用函数
fun02('参数');
箭头函数
将原函数的“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。
// 箭头函数
// 箭头函数中的this指的是函数的绑定者
// 而函数表达式或者声明式函数中的this则为函数的执行者
let fun03 = () => {
document.writeln('箭头函数
');
};
fun03('');
//-------------------------------------------------------
let fun3 = (msg) => {
document.writeln('箭头函数
'+ msg);
};
fun04('传参');
函数的返回值:
1. 可以使用return 来设置函数返回值
语法:
return 值
return 后的值将会作为函数的执行结果,
可以定义一个变量来接收该结果
如果return语句后不跟任何值就相当于返回一个undefined,
如果函数中不写return, 则也会返回undefined
return后可以跟任意类型的值
function fun07(slogan) {
return 'slogan >>> ' + slogan;
}
let slogan01 = fun07('我爱你中国');
document.writeln(slogan01 + '
');
let fun08 = function (slogan) {
return 'slogan >>> ' + slogan;
}
let slogan02 = fun08('亲爱的母亲');
document.writeln(slogan02 + '
');
let fun09 = (slogan) => {
return 'slogan >>> ' + slogan;
}
let slogan03 = fun09('桃李不言下自成蹊');
document.writeln(slogan03 + '
');
可变参数
在定义方法时,在最后一个形参前加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。
可变参数只能作为函数的最后一个参数,但其前面可以有也可以没有任何其他参数
由于可变参数必须是最后一个参数,所以一个函数最多只能有一个可变参数
Js的可变参数,会被编译器转型为一个数组
// 可变参数 注意 可变参数只能是参数列表的最后一个形参
function fun12(...args) {
console.log(args);
}
fun12('java', 'python', 'scala');
function fun13(param, ...args) {
console.log('param >>>' + param);
console.log(args);
}
fun13('java', 'python', 'scala');
作用域
局部变量
变量在函数内声明,变量为局部变量,具有局部作用域。
局部变量:只能在函数内部访问。
// 此处不能调用 carName 变量
function myFunction() {
var carName = "Volvo";
let carName = "Volvo";
// 函数内可调用 carName 变量
}
全局变量
变量在函数外定义,即为全局变量 var。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。
如果变量在函数内没有声明(没有使用 var 关键字),当声明变量 没有使用 let 或 var 修饰的时候 默认隐含是 var修饰该变量,该变量为全局变量。
//全局变量
var carName = " Volvo";
// 此处可调用 carName 变量
function myFunction() {
// 函数内可调用 carName 变量
}
// 当声明变量 没有使用 let 或 var 修饰的时候 默认隐含是 var修饰该变量
//没有使用 var 关键字,该变量为全局变量
function myFunction() {
carName = "Volvo";
}
类变量与私有属性
<script>
class Person {
static slogan = '桃李不言下自成蹊';
// 私有属性
#food = '核桃';
#flower;
// 公有属性
nickname = '李昊哲';
eat(food) {
console.log(this.nickname + '吃' + this.#food);
}
set flower(flower){
console.log('set');
this.#flower = flower;
}
get flower(){
console.log('get');
return this.#flower;
}
}
console.log(Person.slogan);
let person = new Person();
console.log(person);
// 李昊哲吃核桃
person.eat();
person.nickname = '大宝子';
person.food = '芒果';
// 李昊哲吃核桃
person.eat();
console.log(person);
// 调用set方法为私有属性赋值
person.flower = '牡丹';
// 调用get方法获取私有属性的值
console.log(person.flower);
</script>
解构赋值
从数组中解构
<script>
// 1、从数组中解构
const F4 = ['小沈阳', '刘能', '赵四', '宋小包'];
// let shen = F4[0];
// let liu = F4[1];
// let zhao = F4[2];
// let song = F4[3];
let [shen, liu, zhao, song] = F4;
window.console.log(shen);
window.console.log(liu);
window.console.log(zhao);
window.console.log(song);
</script>
从对象中解构
// 2、从对象中解构
const person = {
name: '姓名',
age: 39,
eat: function () {
window.console.log('吃吃吃');
}
}
console.log(person.name);
console.log(person.age);
person.eat();
let { name, age, eat } = person;
console.log(name);
console.log(age);
eat();
方法赋值
// 方法赋值
let server_url = {
protocol: 'http://',
domain: '192.168.1.106',
port: 2022,
context: ''
};
function getServer01(server_url) {
if (server_url.context == '') {
return server_url.protocol + server_url.domain + ":" + server_url.port;
} else {
return server_url.protocol + server_url.domain + ":" + server_url.port + "/" + server_url.context;
}
}
console.log(getServer01(server_url));
function getServer02(protocol, domain, port, context) {
if (context == '') {
return protocol + domain + ":" + port;
} else {
return protocol + domain + ":" + port + "/" + context;
}
}
字符串拼接
let love01 = '我爱你中国';
let love02 = '亲爱的母亲';
// 使用加号 实现 字符串拼接
let love03 = love01 + love02;
console.log(love03);
// 使用字符串魔板 实现 字符串拼接
let love04 = `${love01},${love02}`;
console.log(love04);
// 使用concat方法 实现 字符串拼接
let love = love01.concat(love02);
console.log(love);
字符串查找
字符串与下标互相查找
charAt,indexOf,lastIndexOf,search,replace,replaceAll
<script>
let x = "桃李不言下自成蹊";
let y = "桃李不言下自成蹊";
let slogan = x+y;
console.log(slogan);
// 根据字符串下标 获取字符串某下标位置上的字符
console.log(slogan.charAt(5));
// 字符串中第一次出现的字符串的下标
console.log(slogan.indexOf('成'));
// 字符串中最后一次出现的字符串的下标
console.log(slogan.lastIndexOf('不'));
// 搜索 查找 返回 index
console.log(slogan.search('不'));
// 替换 第一次出现
// console.log(slogan.replace('不','love'));
// 替换 所有
console.log(slogan.replaceAll('不', 'love'));
</script>
数组,字符串转换
JOIN 用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。
split() 方法用于把一个字符串分割成字符串数组。
let times = [1983, 11, 22];
let date = times.join('-');
// 1983-11-22
console.log(date);
//将字符串其分割成数组
let array = date.split('-');
console.log(array);
字符串截取
起始值 结束值 slice
起始值 截取长度 substr
// 桃李不言下自成蹊 起始值 结束值 前包后不包
console.log(slogan.slice(1,5));
//桃李不言下自成蹊 起始值 结束值 前包后不包
console.log(slogan.substring(1,5));
// 桃李不言下自成蹊 起始值 截取长度
console.log(slogan.substr(2,5));
结果:// 李不言下
// 李不言下
// 不言下自成
number 与 string 互转
toString() 转字符串
parseInt 数值
// number 与 string 互转
let a = 10;
// number
console.log(typeof(a));
// string
console.log(typeof(a.toString()));
// object
console.log(typeof(new String(a)));
// int
console.log(typeof(parseInt('20')));
字符串处理空格
replaceAll替换
// 字符串处理空格
let dahai = ' 大海 大海 ';
// 7
console.log(dahai.length);
// 5 收尾去空格
console.log(dahai.trim().length);
// 4 利用字符串 替换 实现 去除字符串中所有的空格
console.log(dahai.replaceAll(" ","").length);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)