JavaScript笔记

本文介绍了JavaScript的基本概念,包括如何定义变量、使用不同数据类型、创建数组和对象,以及编写函数和处理事件等内容。

1.    HTML 定义了网页的内容

2.    CSS 描述了网页的布局

3.    JavaScript 网页的行为

 

JavaScript 是可插入 HTML 页面的编程代码。JavaScript对大小写是敏感的。

JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。外部脚本不能包含 <script> 标签。

JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。

JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。

JavaScript:直接写入 HTML 输出流

<script>

document.write("<h1>这是一个标题</h1>");

document.write("<p>这是一个段落。</p>");

</script>

<buttontype="button"onclick="alert('欢迎!')">点我!</button>

JavaScript:改变 HTML 内容

<script>

functionmyFunction()

{

  x=document.getElementById("demo");  // 找到元素

  x.innerHTML="HelloJavaScript!";    // 改变内容

}

</script>

<buttontype="button" onclick="myFunction()">点击这里</button>

JavaScript 显示数据

JavaScript可以通过不同的方式来输出数据:

·        使用 window.alert() 弹出警告框。

·        使用 document.write() 方法将内容写到 HTML 文档中。

请使用 document.write() 仅仅向文档输出写内容。

如果在文档已完成加载后执行document.write,整个 HTML 页面将被覆盖。

·        使用 innerHTML 写入到 HTML 元素。

document.getElementById("demo").innerHTML= "段落已修改。";

·        使用 console.log() 写入到浏览器的控制台。

JavaScript 语法

 

JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值:

如果重新声明 JavaScript 变量,该变量的值不会丢失:

在以下两条语句执行后,变量 carname 的值依然是"Volvo":

varcarname="Volvo"; 
var carname;

JavaScript 拥有动态类型。这意味着相同的变量可用作不同的类型:

varx;              // x undefined

var x =5;           // 现在 x 为数字
var x = "John";      //
现在 x 为字符串

JavaScript 有多种数据类型:

字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。

在 JavaScript 中有 5 种不同的数据类型:

string

number

boolean

object

function

3 种对象类型:

Object

Date

Array

2 个不包含任何值的数据类型:

null

undefined

 

当您声明新变量时,可以使用关键词 "new" 来声明其类型:

var carname=newString;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

 

var length =16;                                 // Number 通过数字字面量赋值 
var points = x *10;                             // Number
通过表达式字面量赋值
var lastName ="Johnson";                        // String
通过字符串字面量赋值字符串可以是引号中的任意文本。您可以使用单引号或双引号:
var cars = ["Saab", "Volvo","BMW"];             // Array 
通过数组字面量赋值

<script>

var i;

var cars = newArray();

cars[0] ="Saab";

cars[1] ="Volvo";

cars[2] ="BMW";

 

for (var car incars)

{

document.write(cars[car]+ "<br>");

}

</script>
var person ={firstName:"John", lastName:"Doe"};  // Object 通过对象字面量赋值

<script>

var person=

{

       firstname: "John",  lastname  : "Doe",  id   :  5566

fullName : function()

       {

      return this.firstName + " " + this.lastName;

    }

};

document.write(person.lastname +"<br>");

document.write(person["lastname"] +"<br>");

document.getElementById("demo").innerHTML= person.fullName();

</script>

 

函数返回值:

<script>

functionsquare(number1)
{
     var c = number1*number1;
     // 
下面将返回函数值
     return c;
}

var x = 4;
// 
下面我们调用函数并返回值
var des = square(x);
var res = des/2;
document.write(" 
最终结果是 - "+res);
</script>

 

JavaScript 事件

onchange

HTML 元素改变

onclick

用户点击 HTML 元素

onmouseover

用户在一个HTML元素上移动鼠标

onmouseout

用户从一个HTML元素上移开鼠标

onkeydown

用户按下键盘按键

onload

浏览器已完成页面的加载

ontinue语句(带有或不带标签引用)只能用在循环中。

break语句(不带标签引用),只能用在循环或 switch 中。

通过标签引用,break 语句可用于跳出任何 JavaScript 代码块:

 

基于模拟退火的计算器 在线运行 访问run.bcjh.xyz。 先展示下效果 https://pan.quark.cn/s/cc95c98c3760 参见此仓库。 使用方法(本地安装包) 前往Releases · hjenryin/BCJH-Metropolis下载最新 ,解压后输入游戏内校验码即可使用。 配置厨具 已在2.0.0弃用。 直接使用白菜菊花代码,保留高级厨具,新手池厨具可变。 更改迭代次数 如有需要,可以更改 中39行的数字来设置迭代次数。 本地编译 如果在windows平台,需要使用MSBuild编译,并将 改为ANSI编码。 如有条件,强烈建议这种本地运行(运行可加速、可多次重复)。 在 下运行 ,是游戏中的白菜菊花校验码。 编译、运行: - 在根目录新建 文件夹并 至build - - 使用 (linux) 或 (windows) 运行。 最后在命令行就可以得到输出结果了! (注意顺序)(得到厨师-技法,表示对应新手池厨具) 注:linux下不支持多任务选择 云端编译已在2.0.0弃用。 局限性 已知的问题: - 无法得到最优解! 只能得到一个比较好的解,有助于开阔思路。 - 无法选择菜品数量(默认拉满)。 可能有一定门槛。 (这可能有助于防止这类辅助工具的滥用导致分数膨胀? )(你问我为什么不用其他语言写? python一个晚上就写好了,结果因为有涉及json读写很多类型没法推断,jit用不了,算这个太慢了,所以就用c++写了) 工作原理 采用两层模拟退火来最大化总能量。 第一层为三个厨师,其能量用第二层模拟退火来估计。 也就是说,这套方法理论上也能算厨神(只要能够在非常快的时间内,算出一个厨神面板的得分),但是加上厨神的食材限制工作量有点大……以后再说吧。 (...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值