JavaScript整理

1.在<body> 里面写上<script type="text/javascript">

                                document.write("yuanbao");

2.任何变量都是用var 关键字来声明,var是variable的缩写 关于name的加上数字或者,否则不同浏览器会出现不同的问题

   也有关键字和保留字,会有文档对象相关的关键字,注释有两种 单行注释// 多行注释 /*.....*/

3.数据类型

    a.基本类型:number string boolean underfined null  

    b.引用(对象)类型:

public class Student{
  public int id;
  public String name;
  public int age;
}
public class Test{
    public static void main(String [] args){
        Student student=new Student();
      	student.id=1;
      	student.name="张三";
      	student.age=18;
    }
}

4.创建对象方式

<script type="text/javascript">
			//1创建(类)对象定义
			function Person(){
				//属性
				this.age;
				this.name;
				this.address;
				//函数(匿名函数)
				this.show=function(){
					document.write(this.age+"...."+this.name+"....."+this.address);
				
				}
			}
			
			/*function Student(){
			
			}
			Student.prototype=new Person();*/
			//2创建对象
			var zhangsan=new Person();
			zhangsan.age=20;
			zhangsan.name="张三";
			zhangsan.address="北京";
			zhangsan.show();

5.写在body 或者title都可以,也可以在创建的时候直接写出来。

6.数组类型: var cities=new Array(3);cities【0】=10;cities【0】=20;cities【0】=30;

7.JavaScript的三种使用方式:a.<script>标签可以放在网页任何位置

                                                 b.使用外部jjs文件,把代码单独放在文件中   src=“00.js”

                                                 c.放在时间的属性中, onclick <input type="button" value="别点我" οnclick="alerk"('你还是点了') />

8.javascript中的运算符跟java类似,==和===有区别    ==比较内容 ===比较的类型和内容、

9.选择循环大部分与java类似,特殊的:

      a.增加for  for(var i in arr)i不是arr中的元素而是下标

10.函数 function关键字,参数表里面不写var 整个方法不写返回值类型

11.匿名内部类:

mathod1();
(function(s){
document.write("这是一个自执行匿名函数"+s);})("yuanbao");

12.闭包,  函数内部加了个函数。

    闭包的三个条件 a.闭包是一个内部函数 b.闭包能够读取其他函数的局部变量 c.闭包和局部变量在同一个作用域

               使用形式:a.作为函数的返回值,b.作为函数的参数

               好处:a.局部变量常驻内存  b.避免污染全局变量 c.提高封装性保护局部变量;

13.  提示框:alert 无返回值,只会出来一个确定

                    confirm  有确定和取消两个弹窗,点击确定返回true

                     prompt 输入文本内容的弹窗 第一个参数是提示消息,第二个是用户输入的默认值

14.parseInt()字符串转换成整数

    parseFloat()字符串转成小数

    isNaN 判断数字是不是一个数字

15

事件描述
onchangeHTML 元素内容改变(离开光标触发)
onclick用户点击 HTML 元素
onmouseover光标移动到HTML元素
onmouseout光标离开HTML元素
onkeydown用户按下键盘按键
onload浏览器已完成页面的加载

16.字符串和正则表达式

var str="hello,我爱java";//原始类型
var str2=new String("hello");//引用类型对象类型
var str3=String("hello");//原始类型                                          

方括号:

  

表达式描述
[abc]查找方括号之间的任何字符。
[^abc]查找任何不在方括号之间的字符。
[0-9]查找任何从 0 至 9 的数字。
[a-z]查找任何从小写 a 到小写 z 的字符。
[A-Z]查找任何从大写 A 到大写 Z 的字符。
[A-z]查找任何从大写 A 到小写 z 的字符。
(red|blue|green)查找任何指定的选项。

元字符

元字符描述
.查找单个字符,除了换行和行结束符。
\w查找单词字符。[a-zA-Z0-9_]
\W查找非单词字符。
\d查找数字。[0-9]
\D查找非数字字符。
\s查找空白字符。
\S查找非空白字符。
\b匹配单词边界。

 

test()方法:

test()方法搜索字符串指定的值,根据结果并返回真或假。

var patt1=new RegExp("^1[3589]\\d{9}$");
document.write(patt1.test("13688889999"));//true

exec() 方法:

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

var reg=/java/ig;
var str="hello java,java是最好的编程语言,我爱Java";
var s=null;
while(s=reg.exec(str)){
  document.write(s);
  document.write("<br/>")
}

字符串match()方法

var reg=/java/ig;
var str="hello java,java是最后的语言,我爱Java";
var arr=str.match(reg);
for(var i=0;i<arr.length;i++){
    document.write(arr[i]+"<br/>");
}

字符串replace()方法

var reg=/java/ig;
var str="hello java,java是最后的语言,我爱Java";
var str2=str.replace(reg,"JAVA");
document.write(str2+"<br/>");

字符串split()方法

var str="hello world,java best language";
var arr=str.split(/[ ,]/);
for(var i=0;i<arr.length;i++){
document.write(arr[i]+"<br/>");
}
            

17.DOM

标签名

  a.getElementById("YUANBAO") 通过id找到html元素   

  b.getElementTagName(“p”)找到所有<p>元素

  c.getElementByClassName("")  找到class内容

修改 

   a.document.getElementById(id).innerHTML="abcd";

   d.document.getElementById(id).attribute=新属性值

   c.document.getElementById(id).style.property=新样式

   d.var para=document.createElement("p");

   e.var parent=document.getElementById("div1");

18. EventListener

     document.getElementById("myBtn").addEventListener("click", displayDate);

      addEventListener() 方法用于向指定元素添加事件句柄。

      addEventListener() 方法添加的事件句柄不会覆盖已存在的事件句柄。

19.JavaScript计时

document.write("<br/>")
document.write("年份:"+(d.getYear()+1900));
document.write("<br/>")
document.write("年份:"+d.getFullYear());
document.write("<br/>");
document.write("月份:"+(d.getMonth()+1))
document.write("<br/>");
document.write("日期:"+d.getDate());
document.write("<br/>");
document.write("小时:"+d.getHours());
document.write("<br/>");
document.write("分钟:"+d.getMinutes());
document.write("<br/>");
document.write("秒:"+d.getSeconds());

 

setInterval() 周期执行函数

间隔指定的毫秒数不停地执行指定的代码:

每三秒弹出 "hello" :

setInterval(function(){alert("Hello")},3000);

实例展示了如何使用 setInterval() 方法

20.window.setTimeout("javascript 函数",毫秒数);   延迟执行函数

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 支持向量机非线性回归通用MATLAB程序解析 #### 一、概述 本文将详细介绍一个基于MATLAB的支持向量机(SVM)非线性回归的通用程序。该程序采用支持向量机方法来实现数据的非线性回归,并通过不同的核函数设置来适应不同类型的数据分布。此外,该程序还提供了数据预处理的方法,使得用户能够更加方便地应用此程序解决实际问题。 #### 二、核心功能与原理 ##### 1. 支持向量机(SVM) 支持向量机是一种监督学习模型,主要用于分类和回归分析。对于非线性回归任务,SVM通过引入核技巧(kernel trick)将原始低维空间中的非线性问题转换为高维空间中的线性问题,从而实现有效的非线性建模。 ##### 2. 核函数 核函数的选择直接影响到模型的性能。本程序内置了三种常用的核函数: - **线性核函数**:`K(x, y) = x'y` - **多项式核函数**:`K(x, y) = (x'y + 1)^d` - **径向基函数(RBF)**:`K(x, y) = exp(-γ|x - y|^2)` 其中RBF核函数被广泛应用于非线性问题中,因为它可以处理非常复杂的非线性关系。本程序默认使用的是RBF核函数,参数`D`用于控制高斯核函数的宽度。 ##### 3. 数据预处理 虽然程序本身没有直接涉及数据预处理的过程,但在实际应用中,对数据进行适当的预处理是非常重要的。常见的预处理步骤包括归一化、缺失值处理等。 ##### 4. 模型参数 - **Epsilon**: ε-insensitive loss function的ε值,控制回归带宽。 - **C**: 松弛变量的惩罚系数,控制模型复杂度与过拟合的风险之间的平衡。 #### 三、程序实现细节 ##### 1. 函数输入与输出 - **输入**: - `X`: 输入特征矩阵,维度为(n, l),其中n是特征数量,l是样本数量。 - `Y`: 目标值向量,长度为l。 - `Epsilon`: 回归带宽。 - `C`: 松弛变量的惩罚系数。 - `D`: RBF核函数的参数。 - **输出**: - `Alpha1`: 正的拉格朗日乘子向量。 - `Alpha2`: 负的拉格朗日乘子向量。 - `Alpha`: 拉格朗日乘子向量。 - `Flag`: 标记向量,表示每个样本的类型。 - `B`: 偏置项。 ##### 2. 核心代码解析 程序首先计算所有样本间的核矩阵`K`,然后构建二次规划问题并求解得到拉格朗日乘子向量。根据拉格朗日乘子的值确定支持向量,并计算偏置项`B`。 - **核矩阵计算**:采用RBF核函数,通过`exp(-(sum((xi-xj).^2)/D))`计算任意两个样本之间的相似度。 - **二次规划**:构建目标函数和约束条件,使用`quadprog`函数求解最小化问题。 - **支持向量识别**:根据拉格朗日乘子的大小判断每个样本是否为支持向量,并据此计算偏置项`B`。 #### 四、程序扩展与优化 - **多核函数支持**:可以通过增加更多的核函数选项,提高程序的灵活性。 - **自动调参**:实现参数自动选择的功能,例如通过交叉验证选择最优的`Epsilon`和`C`值。 - **并行计算**:利用MATLAB的并行计算工具箱加速计算过程,特别是当样本量很大时。 #### 五、应用场景 该程序适用于需要进行非线性回归预测的场景,如经济预测、天气预报等领域。通过调整核函数和参数,可以有效应对各种类型的非线性问题。 ### 总结 本程序提供了一个支持向量机非线性回归的完整实现框架,通过灵活的核函数设置和参数调整,能够有效地处理非线性问题。对于需要进行回归预测的应用场景,这是一个非常实用且强大的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值