JavaScript学习

var 关键字用来声明变量,es6中let关键字,声明的变量会受到块级作用域的影响,应用更加广泛

let newaddab=(a,b)=>{return a+b;}匿名函数

console.log(newaddab(333,232));

JavaScript是一种面向对象语言,对象是JavaScript的核心,可以将JavaScript中的对象理解为键值映射。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        function check() {
            let value=document.getElementsByName("input")[0].value
            if(!Number(value)){
                alert("请输入正确的年份!");
                return;
            }
            if(Number(value) % 4 ===0 && Number(value)%100 !==0){
                alert(value+"年是闰年");
            }else if(Number(value) % 400 == 0){
                alert(value+"年是闰年");
            }else{
                alert(value+"年是平年");
            }
        }
    </script>
</head>
<body>
    <h1>闰年判断小程序</h1>
    <div>
        <input type="text" name="input"/><button onclick="check()">检验</button>
    </div>
</body>
</html>

var mathFunc=function mathF(a) {
            var res=a;
            a--;
            if(a>0){
                res *= mathFunc(a);
            }
            return res;
        }
function reverse2(n){
    if(typeof(n) != "number"){
        throw "input number please!"
    }
    let res="";
    let temp=n;
    while(temp >10){
        res += Math.floor(temp%10);
        console.log(temp);
        temp=Math.floor(temp/10);
    }
    return res + temp;
}

//将数组进行逆序并放回原数组中

function revarray2(array){
    var newarray=[];
    for(var i=array.length-1;i >=0;i--){
        newarray.push(array[i]);
    }
    for(var i=0;i<=newarray.length-1;i++){
        array[i]=newarray[i];
    }
    }

//输入一句话,输出最后一个单词的长度

 function lastwordlen(str){
    let c=0;
    for(var i=str.length-1;i>=0;i--){
        if(str.charAt(i) === ' '){
            return c;
        }else{
            c++;
        }
    }
    return c;
}

//有一对兔子,从出生后的第三个月起,每个月都生一对兔子,小兔子长到第三个月后,每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少

function tuzishu(n){
    if(n <=2){
        return 1;
    }else{
        return tuzishu(n-1)+tuzishu(n-2);
    }
}
//水仙花数,三位数,个位数字的立方和等于该数本身,如153

function shuixianhua(){
    for(var i=100;i<1000;i++){
        let a=Math.floor(i/100);
        let b=Math.floor(i/10)%10;
        let c=Math.floor(i%10);
        if( i === a*a*a+b*b*b+c*c*c){
            console.log(i);
        }
    }
}

function func2(s){
    return s > 90 ?"A":(s>=60?"B":"C");
}

//统计字符

function charcount(string){
    let char=0;
    let fig=0;
    let o=0;
    for(var i=0;i<string.length;i++){
        if(string.charCodeAt(i) >= 'A'.charCodeAt(0) && string.charCodeAt(i) <= 'Z'.charCodeAt(0)){
            char++;
        }else if(string.charCodeAt(i) >= 'a'.charCodeAt(0) && string.charCodeAt(i) <= 'z'.charCodeAt(0)){
            char++;
        }else if(string.charCodeAt(i) >= '0'.charCodeAt(0) && string.charCodeAt(i) <= '9'.charCodeAt(0)){
            fig++;
        }else{
            o++;
        }
    }
    return {char:char,fig:fig,o:o};
}
undefined
console.log(charcount("21dsd^%fs dsa"));
VM3197:1 {char: 8, fig: 2, o: 3}

//100m落下,反跳到原高度的一般,10次落地,共多少米,第十次反弹多高
function fantiao(){
    let h=100;
    let sn=h;
    let hn=sn/2;
    for(var i=0;i<=10;i++){
        sn = sn+ 2*hn;
        hn=hn/2;
    }
    return {sn:sn,hn:hn};
}

function houzichitao(){
    let day=9;
    let a=0;
    let b=1;
    while(day >0){
        a=(b+1)*2;
        b=a;
        day--;
    }
    return b;
}

//编程求解   1+2!+3!+...+20!
undefined
function jiecheng(){
    let s=0;t=1;
    for(var i=1;i<=20;i++){
        t=t*i;
        s=s+t;
    }
    return s;
}

ECMAScript 是一种基于对象的脚本语言,语言内置的许多对象。

var teacher={}

typeof teacher

使用new关键字在构造对象时实际上执行了3个操作,首先创建一个空的对象建立原型链,之后执行构造函数,将函数中的this关键字与新建的对象进行绑定,最后将这个新建的对象返回。

数组对象的构造方法,Array()如果只传入一个参数且为数值,返回一个固定长度的空数组对象,若传入多个参数或非数值对象的参数,创建数组,且将参数作为数组中的元素

var student=new Object();
undefined
student.name="lucy";
"lucy"
student.age=24;
24
student.learning=function(){
    console.log("learning.....");
}
ƒ (){
    console.log("learning.....");
}
student.name
"lucy"
Object.defineProperty(student,"name",{
    configurable:true,
    enumerable:true,
    writable:true,
    value:"july"
});
{name: "july", age: 24, learning: ƒ}
student.name
"july"

 

Object.defineProperty(teacher,"number",{
    value:10001,
    enumerable:false
});
{name: "jaki", age: 24, teachering: ƒ, number: 10001}
console.log(teacher.value);
VM5165:1 undefined
undefined
console.log(teacher.number);
VM5197:1 10001
undefined
for(props in teacher){
    console.log(props);
}
VM5279:2 name
VM5279:2 age
VM5279:2 teachering
undefined
var obj={};
undefined
Object.assign(obj,teacher,teacher2);
{name: "jaki", age: 24, teachering: ƒ, subject: "javascript"}
console.log(obj.name,obj.age,obj.subject);
VM5459:1 jaki 24 javascript
undefined
obj.teachering();
VM4946:5 teachering
undefined
obj.number

 

function People(name,age){
    this.age=age;
    this.name=name;
}
undefined
function Teacher(name,age,subject){
    this.init=People;
    this.init(name,age);
    delete this.init;
    this.subject=subject;
    this.teachering=function(){
        console.log("教师"+this.name+",挣扎在教授·"+this.subject+"课程");
    };
}
undefined
var jaki=new Teacher("jaki",25,"Javascript");
undefined
jaki.teachering
ƒ (){
        console.log("教师"+this.name+",挣扎在教授·"+this.subject+"课程");
    }
jaki.teachering();
VM6269:7 教师jaki,挣扎在教授·Javascript课程
undefined

var a=[1,2,3,4,5,6,7,8,9]

a.sort(function(a,b){
    var sign=(Math.random()>0.5)?1:-1;
    return (a-b)*sign;
});

//编写函数,去除数组中的重复元素

箭头函数中this的固化

在普通函数中,this默认指向调用函数的对象,可以用call、apply、bind这些函数进行this指向的更改,箭头函数,this是固化的,在定义函数时就已被绑定,不能修改。

一、promise

1、promise是一个代理对象,它和原先要进行的操作并无关系。

2、它通过引入一个回调,避免更多的回调。

二、promise的3个状态

1、pending(待定):初始状态

2、fulfilled(实现):操作成功

 

then确实会返回一个promise,但是如果不手动return Promise,那么默认返回的promise状态就是resolved,值看你return的是啥了,不写return的话,值是undefined,return非promise,那么值就是这个非promise。而手动return Promise,那返回的promise状态就不一定是resolved了,因此就可以改变下一个then/catch调用的结果了。

 

 

内容概要:本文深入解析了扣子COZE AI编程及其详细应用代码案例,旨在帮助读者理解新一代低门槛智能体开发范式。文章从五个维度展开:关键概念、核心技巧、典型应用场景、详细代码案例分析以及未来发展趋势。首先介绍了扣子COZE的核心概念,如Bot、Workflow、Plugin、Memory和Knowledge。接着分享了意图识别、函数调用链、动态Prompt、渐进式发布及监控可观测等核心技巧。然后列举了企业内部智能客服、电商导购助手、教育领域AI助教和金融行业合规质检等应用场景。最后,通过构建“会议纪要智能助手”的详细代码案例,展示了从需求描述、技术方案、Workflow节点拆解到调试与上线的全过程,并展望了多智能体协作、本地私有部署、Agent2Agent协议、边缘计算插件和实时RAG等未来发展方向。; 适合人群:对AI编程感兴趣的开发者,尤其是希望快速落地AI产品的技术人员。; 使用场景及目标:①学习如何使用扣子COZE构建生产级智能体;②掌握智能体实例、自动化流程、扩展能力和知识库的使用方法;③通过实际案例理解如何实现会议纪要智能助手的功能,包括触发器设置、下载节点、LLM节点Prompt设计、Code节点处理和邮件节点配置。; 阅读建议:本文不仅提供了理论知识,还包含了详细的代码案例,建议读者结合实际业务需求进行实践,逐步掌握扣子COZE的各项功能,并关注其未来的发展趋势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值