js学习记录01
函数声明
function functionName(parameters参数){
执行的代码
}
function myFunction(a,b){
return a*b;
}
菜鸟中用
document.getElementById("demo").innerHTML=myFunction(4,3);
输出12
函数表达式
var x=function(a,b){return a*b};
var z=x(4,3);
上面是匿名函数,没有名称
函数以 ; 结尾,它是一个执行函数
Function()构造函数
内置JavaScript函数构造器(Function())定义
var myFunction=new Function("a","b","return a*b");
var x=myFunction(4,3);
不用使用构造函数,可以写成
var myFunction=function(a,b){return a*b};
var x=myFunction(4,3);
函数可作为一个值使用
var x=myFunction(4,3);
JavaScript函数可以作为表达式使用
var x=myFunction(4,3)*2;
js的函数有属性和方法
function myFunction(a,b){
return arguments.length;
}
//这就是属性返回函数调用过程接收到的参数个数
toSting()方法将函数作为一个字符串返回
function myFunction(a,b){
return a*b;
}
var txt=myFunction.toString();
箭头函数
ES6新增
(参数1,参数2,...,参数n)=>{函数声明} or 单一表达式
只有一个参数时,可以选择是否加圆括号
(单一参数)=>{函数声明}
单一参数=>{函数声明}
没有参数的函数应该写一对圆括号
()=>{函数声明}
对比:
//ES5
var x=function(x,y){
return x*y;
}
//ES6
const x=(x,y)=>x*y;
函数只是一个语句可以省略return关键字和大括号{}
const x=(x,y)=>{return x*y};
JS对象
对象属性
var person={
firstname:"R",
lastname:"MC",
id:111,
fullName:function()
{
return this.firstName + " " + this.lastName;
}
}
两种寻址方式
name=person.lastname;
name=person["lastname"];
undefined表示变量不含有值
person=null;
通过将变量的值设置为null清空变量
声明变量
声明变量时,可以用关键词“new”声明类型
属性
键值对通常写法name : value
对象方法
对象方法通过添加()调用
name=person.fullName();
如果访问对象fullName属性,那会作为一个定义函数的字符串返回
name=person.fullName;
返回
function() { return this.firstName + " " + this.lastName; }
带返回值的函数
加了return
赋值给未声明的变量
carname="Volvo";
将声明window的一个属性carname
js作用域
- 局部作用域
function myFunction(){
var carName="Volvo"
//函数内可调用carName
}
- 全局作用域
var carName="Volvo"
function myFunction(){
//内外都可调carName
}
事件
比如点击按钮,发生交互事件
字符串
可用单引号或双引号
可用索引访问字符串每个字符
var character=carname[7];
var sln=txt.length;//可用获取字符串长度
反斜杠是转义字符
字符串可以是对象
var y=new String("John");
typeof y//返回object
用于字符串的+运算符
比较运算符
===为绝对相等,即数据类型与值都必须相等
!==不绝对等于,(值和类型有一个不相等,或两个都不相等)
条件语句
if语句
if(condition){
条件为true时执行的代码
}
if-else语句
if(condition){
当条件为true时执行
}
else{
条件为false执行
}
if-else if-else语句
if(condition1){
条件1为true执行
}
else if(condition2){
条件2为true执行
}
else{
条件1和2都不true时执行
}
switch语句
switch(n){
case 1:
执行代码块 1
break;
case 2:
执行代码块 2
break;
default:
与case1和case2不同时执行的代码
}
写博客是写给未来的自己,会看到自己思想的演变
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫