javascript高级部分
javascript高级部分Function方法 与 函数式编程call语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])
定义:调用一个对象的一个方法,以另一个对象替换当前对象。
说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。
1234567let myName = 'goudan';let myAge = 13; function showMsg(msg){ return (msg + '').toLowerCase();}showName(myName); // 'goudan'
这段代码很容易就能看懂,在实际开发工作中,我们会处理不同的数据集合,这时候声明单一变量已经无法满足胃口,需要通过json的形式来存储数据
123456789101112131415 ...
javascript初级部分
前言
JavaScript之父 Brendan Eich(布兰登·艾奇)
在JavaScript诞生的前几年,有人说:
JavaScript是一门四不像的语言;JavaScript是一门没有规范的语言;JavaScript是一门兼容糟糕的语言;JavaScript是一门不精准的语言;JavaScript是一个半成品语言;JavaScript是一门糟糕的语言;JavaScript只是一个玩具胶水语言;
这些声音从JavaScript面世之初就一直伴随着她,声音的主人不乏已掌握多门语言的coding老兵,每一条负面都事实支撑。就连JavaScript之父也曾经说过:
1"与其说我爱Javascript,不如说我恨它。它是C语言和Self语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:'它的优秀之处并非原创,它的原创之处并不优秀。'(the part that is good is not original, and the part that is original is not good.)"
Ruby的设计者——松本行弘为此感叹 ...
ES5/ES6补充
ES5/ES6补充
ECMAScript 5 2009年12月 正式发布 ECMAScript 5.1就是我们常说的es5 2012年发布
ECMAScript 6(简称ES6)是于2015年6月正式发布的javascript语言的标准,正式名为ECMAScript 2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
声明命令 let constlet声明符
ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。
基础特性12345678910111213141516if(true){ let a = 'let'; var b = 'var';}console.log(b); //varconsole.log(a); //Uncaught ReferenceError: a is not defined------------------------------------------ ...
八股文(二)
VUEVue计算属性的函数名和data中的属性可以同名吗?为什么?在 Vue.js 中,计算属性的函数名和 data 中的属性名不应该同名。如果同名,Vue 会抛出警告,并且可能会导致意外的行为。
原因:
命名冲突:
Vue 实例的 data 和 computed 都会被挂载到 Vue 实例上,成为实例的属性。
如果 data 和 computed 中的属性同名,Vue 无法区分它们,会导致冲突。
优先级问题:
在 Vue 2.x 中,data 属性的优先级高于 computed 属性。如果同名,computed 属性会被忽略。
在 Vue 3.x 中,这种行为可能会导致运行时错误或未定义的行为。
代码可读性和维护性:
同名属性会让代码难以理解和维护,容易引发混淆。
示例:123456789101112new Vue({ data() { return { message: "Hello from data" }; }, computed: { mess ...
正则表达式
正则表达式(Regular Expression,简称 regex)是一种强大的文本匹配和处理工具,用于在字符串中查找、替换或提取特定模式。以下是正则表达式的主要规则和语法:
1. 基本字符匹配
普通字符:直接匹配自身。例如,a 匹配字符 a。
特殊字符:需要转义,例如 .、*、+、?、^、$、()、[]、{}、|、\ 等。
例如,\. 匹配字符 .。
2. 字符类
**[]**:匹配括号内的任意一个字符。
例如,[abc] 匹配 a、b 或 c。
**[^]**:匹配不在括号内的任意一个字符。
例如,[^abc] 匹配非 a、b、c 的字符。
范围:[a-z] 匹配小写字母,[0-9] 匹配数字。
例如,[a-zA-Z0-9] 匹配任意字母或数字。
3. 预定义字符类
**.**:匹配任意单个字符(除了换行符 \n)。
**\d**:匹配数字,等价于 [0-9]。
**\D**:匹配非数字,等价于 [^0-9]。
**\w**:匹配单词字符(字母、数字、下划线),等价于 [a-zA-Z0-9_]。
**\W**:匹配非单词字符,等价于 [ ...
八股文(二)
[TOC]
JSJavaScript有哪些数据类型?它们的区别是什么JavaScript 是一种动态类型的编程语言,支持多种数据类型。这些数据类型可以分为两大类:原始类型(Primitive Types) 和 引用类型(Reference Types)。
1. 原始类型(Primitive Types)原始类型是直接存储在栈内存中的简单数据,具有不可变性(即不能直接修改,只能重新赋值)。JavaScript 有以下 7 种原始类型:
(1) number
表示数字,包括整数和浮点数。
例如:42, 3.14, NaN(非数字), Infinity(无穷大)。
(2) string
表示文本数据,用单引号、双引号或反引号包裹。
例如:"Hello", 'World', `Hello ${name}`。
(3) boolean
表示逻辑值,只有两个值:true 和 false。
例如:true, false。
(4) undefined
表示未定义的值。变量声明但未赋值时,默认值为 undefined。
例如:let x; c ...
八股文
[TOC]
HTMLHTML的src和href属性有什么区别?在HTML中,src 和 href 是两个常用的属性,它们用于指定资源的位置,但有不同的用途和适用场景。
src 属性
用途:src 属性用于指定嵌入内容的位置,即它告诉浏览器在哪里找到要直接嵌入到文档中的资源。
常见元素:
<img>:用于嵌入图像。
<script>:用于嵌入JavaScript代码。
<iframe>:用于嵌入另一个HTML文档。
<video> 和 <audio>:用于嵌入视频和音频文件。
示例:
1234<img src="image.jpg" alt="Example Image"><script src="script.js"></script><iframe src="another-page.html"></iframe><video src="movie.mp4&quo ...
项目概述
Streamlit+Langchain本地文件对话实现项目背景:在参与书生大模型实战营后,我深刻了解到了langchain的发展前景,尤其是agent功能的强大,我决定开发一个本地化的对话应用。该项目旨在利用Streamlit框架与Langchain的agent工具库,为用户提供一个便捷、智能的对话体验。项目描述:本项目结合Streamlit框架与Langchain技术,旨在快速搭建一个本地化的对话应用。用户通过简洁的Streamlit界面输入本地文件路径,系统便能自动读取文件内容,构建向量库,并借助Langchain的agent工具库进行智能回复。这一过程不仅提高了对话处理的智能化水平,还大大简化了用户的操作流程。技术细节:Streamlit框架:作为前端展示层,提供了简洁易用的API,负责接收用户输入的本地文件路径,并展示agent处理后的回复结果。Langchain agent工具库:强大的自然语言处理工具库,能够理解和处理复杂的自然语言指令,用于构建智能化的对话系统。自建“链”:根据项目需求自建的处理流程,包含文件读取、向量构建、agent处理等节点,确保用户指令得到精准处理。 ...
交易系统
交易系统交易认知交易就是交易我不建议用“价值投资”这个明言来定义你的买卖,其实任何人,归根结底就是不同价格买卖,这就是交易。无需冠以“价值投资”、“技术分析”等等名号,这些名号只会成为你的执念,成为绊脚石。你以为你买卖的股票是背后公司的所有权,你以为你买卖的是某个技术形态,其实你买卖的只是那个数字,那个价格。所以交易就是交易。
“价值投资”认知陷阱“价值投资”本身就是一个概念,是人定义的,核心观点是:有价值的公司,成长性好的公司,长期来看价格会上涨。而你一旦深信不疑这个概念,你就会买入自认为成长性好、被低估的公司,然后对价格下跌的风险无意识,过程中也很难改变自己的想法,这就是执念。
价格是什么?价格是市场全部参与者共同决定的,和背后的公司本身没有直接关系。所以,即使很差的公司,可就是有很多资金抬着价格追着买,价格自然就会上涨。你也别问为啥会高价买,问就是一种执念,因为你妄想找到这背后的原因,可谁给你说的凡事有因果?为什么不能是有果,没有因?同样,很好的公司,持有者就是疯狂折价卖,价格就会下跌。
陷阱是什么?价格是参与者共同合力的结果,是有垃圾股价格一飞冲天,有垃圾股价格跌至深渊,有好公 ...
数据结构考试习题
问答题什么是数据结构?有关数据结构的讨论涉及哪3个方面?答:按某种逻辑关系组织起来的一组数据元素,按一定的存储方式存储于计算机中,并在其上定义了一个运算的集合,称为一个数据结构。数据结构涉及以下三方面的内容:(1)数据成员以及它们相互之间的逻辑关系,也称为数据的逻辑结构。(2)数据元素及其关系在计算机存储器内的存储表示,也称为数据的物理结构,简称为存储结构。(3)施加于该数据结构上的操作,即运算。
什么是算法?算法的5个特性是什么?答:通常算法定义为解决某一特定任务而规定的一个指令序列。一个算法应当具有以下特性。(1)有穷性:一个算法无论在什么情况下都应在执行有穷步后结束。(2)确定性:算法的每一步都应确切地、无歧义地定义。对于每一种情况,需要执行的动作都应严格地、清晰地规定。(3)可行性:算法中每一条运算都必须是足够基本的。也就是说,它们原则上都能精确地执行,甚至人们仅用笔和纸做有限次运算就能完成。(4)输入:一个算法必须有0个或多个输入。它们是在算法开始运算前给予算法的量。这些输入取自特定的对象的集合。它们可以使用输入语句由外部提供,也可以使用赋值语句在算法内给定。(5)输出:一个 ...