JavaScript学习笔记一

工作需要,需要学习JS了,每天坚持一小段,笔记不一定每天更新,但是会一直写,一定量更新一篇,go go go

1.变量

单一变量
var name = ‘liyang’;
var x = 5;
var y = 6;
var z = x + y;
多个变量
var name = ‘jack’,age=12;
var name = ‘john’,
age=14;

var x,y,z=1;  只有Z=1,其余都是undefined

2.数据类型

var x; 类型为undefined
var x = 5;   类型为数字
var x = ‘abc’; 类型为字符串

单双引号可以单独使用和混合使用

var answer = “It’s mine”;

使用数字时的几种方式:

var num = 3.14;
var num = 3.1400;
var num = 123e5;  就是123的5次方
var num = 123e-5;  上面的倒数

数组使用时,遵循常规数组规则

var cars = new Array();  声明了一个数组
cars[0] = ‘a’;
cars[1] = ‘b’;
cars[2] = ‘c’;

这样等同于 var cars = [‘a’,’b’,’c’];

字典或者json文件类型

var person = {
firstname : ‘john’,
lastname : ‘Doe’,
id : 9527
};

这样就可以通过属性来查找了

person.firstname 和 person[‘firstname’]

主要的几种声明的变量:

var carname = new String;   //字符串
var x = new Number;	//数字
var y = new Boolean;	//布尔
var cars = new Array;	//数组
var person = new Object;	//对象

3.输出

window.alert()  	//弹出警告弹窗
document.write() 	//写入HTML文档中,不指定标签
innerHTML		//写入HTML元素中
console.log() 	//写入浏览器控制台中

用实例说明一下这些指令的功能

<body>
<h1>我的第一个 Web 页面</h1>
<p id="demo">我的第一个段落。</p>
<script>
window.alert(‘我是弹窗’)
document.getElementById("demo").innerHTML="段落修改。";
document.write(Date());
</script>
</body>

会输出一下内容:

我的第一个 Web 页面
段落已修改。
Tue Aug 20 2019 23:21:17 GMT+0800 (中国标准时间)

①生成一个弹窗,弹窗内容是“我是弹窗”
②修改了id为demo的标签的内容,getElementById用于寻找id定位的标签,innerHTML就是写入内容
③写入了一行时间,直接加到页面下方,Date为函数

接下来将这个应用到实际一点的案例中去:

<h1>我的第一个 Web 页面</h1>
<p>我的第一个段落。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
    document.write(Date());
}
</script>

用到函数来执行点击动作,然后给页面写入一个时间,这里就是一个动态的加载过程了

这里是为了说明document.write()的覆盖性,当运行时首先会加载H1和P标签,然后执行点击动作会执行write动作,将覆盖整个页面打印一个时间在页面上

console.log是往控制台写入,用于调试等等

4.语法

①字面量
一般固定值就被成为字面量,如12
数字(Number)的字面量可以是整数小数或者科学计数

如:3.14, 1001, 123e5

字符串的字面量可以使用单双引号

如: ‘abc’,“abc”

数组字面量定义一个数组

[1,2,34]

对象字面量定义一个对象

{‘firstname’:’li’, lastname:’yang’, age:26}

函数字面量定义一个函数

function myFunction(a, b) {return a+b;}

下面是一些常规的计算符号:
赋值,算术和位运算符 = + - * / 在 JS 运算符中描述
条件,比较及逻辑运算符== != < >在 JS 比较运算符中描述

//表示注释,将不会被执行
JS里面会严格区分大小写,所以写变量函数都要注意大小写
多行注释以 /* 开始,以 */ 结尾。

5.对象

在 JavaScript中,几乎所有的事物都是对象
对象也是一个变量,但对象可以包含多个值(多个变量)

var car = {type:’Fiat’,model:500}

上面car被赋予type和model两个变量,然后对应两个值,所以对象Object可以认为是变量的容器

var person = {
    firstName: "John",
    lastName : "Doe",
    fullName : function() 
	{
       return this.firstName + " " + this.lastName;
    }};

这儿给对象定义了一个方法,fullName(),所以可以直接用person.fullName()来查看对象的全称,有此可以看出创建对象函数的方法是:

methodName : function() {
 	code lines 
 }

你可以使用以下语法访问对象方法:

objectName.methodName()

6.函数

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块,最常见的就是button的onclick()功能

<script> 
function myFunction() { 
	alert("Hello World!"); 
} 
</script>
<button onclick="myFunction()">点我</button>      //点击时生成一个弹窗

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname()
{
    // 执行代码
}

①函数可以携带参数以发送任意多的参数,由逗号分隔:

<p>点击这个按钮,来调用带参数的函数。</p> 
<button  onclick="myFunction('Harry Potter','Wizard')">点击这里</button> 
<script> 
function  myFunction(name,job){ 
	alert("Welcome " + name + ", the " + job);
}
</script>	

这里的函数可以携带两个参数,调用时我们给函数两个参数,则可以提示不同的内容

②带有返回值的函数
通过使用 return 语句就可以实现。
在使用 return 语句时,函数会停止执行,并返回指定的值。

function myFunction() {
    var x=5;
    return x;			//等于return 5;
}

return在很多时候可以用于判断退出:

function myFunction(a,b) {
 	if (a>b)  { 
		return; 
    } 
    x=a+b 
}

如果a>b,则直接退出函数,不返回任何值,也不会计算x

③向未声明的 JavaScript 变量分配值

果您把值赋给尚未声明的变量,该变量将被自动作为 window 的一个属性。
这条语句:

carname="Volvo";

将声明 window 的一个属性 carname。
非严格模式下给未声明变量赋值创建的全局变量,是全局对象的可配置属性,可以删除。

var var1 = 1; // 不可配置全局属性
var2 = 2; // 没有使用 var 声明,可配置全局属性

console.log(this.var1); // 1
console.log(window.var1); // 1
delete var1; // false 无法删除
console.log(var1); //1
delete var2; 
console.log(delete var2); // true
console.log(var2); // 已经删除 报错变量未定义

7.变量作用域

变量在函数内声明,变量为局部作用域。
局部变量:只能在函数内部访问

// 此处不能调用 carName 变量
function myFunction() {
    var carName = "Volvo";
    // 函数内可调用 carName 变量
}

变量在函数外定义,即为全局变量。
全局变量有 全局作用域: 网页中所有脚本和函数均可使用。

var carName = " Volvo";
 
// 此处可调用 carName 变量
function myFunction() {
    // 函数内可调用 carName 变量
}

如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。
以下实例中 carName 在函数内,但是为全局变量。

// 此处可调用 carName 变量
function myFunction() {
    carName = "Volvo";
    // 此处可调用 carName 变量
}

HTML 中的全局变量
在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。

//此处可使用 window.carName
 
function myFunction() {
    carName = "Volvo";
}

8.事件

最常见的事件就是onclick,加在按钮中

<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<p id="demo"></p>

运行点击后将给P标签赋予当前时间的信息

这里顺便就补充一下给当前标签本身改变值的方法:

<button onclick="this.innerHTML=Date()">现在的时间是?</button>

这里点击时,标签按钮的内容就变成了当前时间

下面是一些常见的HTML事件的列表:

 事件						描述
onchange				HTML 元素改变
onclick					用户点击 HTML 元素
onmouseover				用户在一个HTML元素上移动鼠标
onmouseout				用户从一个HTML元素上移开鼠标
onkeydown				用户按下键盘按键
onload					浏览器已完成页面的加载

JavaScript 可以做什么?
事件可以用于处理表单验证,用户输入,用户行为及浏览器动作:

页面加载时触发事件
页面关闭时触发事件
用户点击按钮执行动作
验证用户输入内容的合法性
等等 ...

可以使用多种方法来执行 JavaScript 事件代码:

HTML 事件属性可以直接执行 JavaScript 代码
HTML 事件属性可以调用 JavaScript 函数
你可以为 HTML 元素指定自己的事件处理程序
你可以阻止事件的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值