JavaScript 1

JavaScript 1

初识JavaScript

1

​ JavaScript 是是一种轻量级脚本语言,不能被编译,直接执行,js在浏览器当中是从上到下一行一行的执行,

当遇到错误的时候,就会停下来,不再执行。js是运行在script标签之中的,可以插入到html页面里。

script标签,现在一般把它放在页面的结尾部分。

2

​ Js它的核心是ECMAScript,它是一个标准。它描述并定义了js语言的语法、基本的对象,

			 \- 语法、类型、语句、关键字、保留字、运算符、对象

3 .

​ ECMAScript,它可以为不同宿主环境提供核心脚本的编程能力,宿主环境其实就是运行js的环境,

​ - 浏览器可以是一个宿主环境;

- 以前的flash,也是一个运行js的宿主环境;

  • 现在流行的node,它更是一个运行js的宿主环境;

​ 例如,物联网流行的起来,它也是在硬件的层面上,实现一个可以运行js的运行环境,这也是一个宿主环境。

4.

​ 一个完整的JavaScript是由三部分构成,

​ - ECMAScript,js的核心标准

​ - BOM,浏览器对象模型

​ - DOM,文档对象模型

​ js是由事件驱动的,js想要运行,需要有事件触发,js才可以运行

输出语句

console.log()  // 在控制台打印
alert()		// 弹出警告框  会停留在这一处,点击确定才会往下执行,会阻塞js运行
document.write()

变量

变量,是用来保存数据的容器。声明一个变量,要使用var关键字,例如,var _val = 123;可以用来保存任何类型的值。

变量的生命周期

定义在函数中的变量,

​ - 函数被调用时,创建变量并赋值;

​ - 函数执行结束之后,变量就会被销毁。

在函数外部访问,会报错

​ 为什么会报错?

​ 1、从全局、局部作用域的角度考虑

​ 2、第二个角度来说,就是函数执行完了,_v的变量已经没了,所以再打印_v,会报错。

变量的命名方式

1、区分大小写;

2、字母、_、$,这三种开头

数据类型

基本数据类型

​ – 数字(Number),字符串(String),布尔(Boolean),undefined.null

​ —可以使用typeof 检测数据类型

​ --undefined只有一个值,就是undefined

​ --null, 空指针,在js中就是空对象的引用,不和任何值相等(es5中)

​ 引入null和undefined的目的,就是为了区分 空对象和未初始化的变量。

引用数据类型

​ --对象,数组…

if…else

if( 条件 ){
如果条件为true,执行这个逻辑分支
} else {
如果条件为false,执行这个逻辑分支
}
// 比较运算符   == 比较值是否相等   ===全等,比较值和数据类型是否相等

for循环

// 根据条件,可以多次循环执行的代码块;

for(起始条件1; 结束条件2; 运行条件3){
	//多次循环执行的代码块
}
for(var i = 0;i<arr.length;i++){
    console.log(arr[i]);
}

for循环嵌套

// 一般就二层,如果多于2层,说明你js设计有问题
for(var i = 0;i<arr.length;i++){
    for(var j = 0;j<arr.length;j++){
    console.log(arr[i]);
}
}

递增\递减运算符

++,--
var i=1;
i++   ++i// 相当于 i = i+1
i-- --i//相当于 i = i-1
/*
不论是前缀自增自减还是后缀自增自减,i的值都会改变,只是(i++,i--,++i,--i的值不同)
前缀自增,先自增后赋值,后缀自增先赋值,后自增
*/

数组

​ 在一个变量名里,保存一系列的值。数组成员以,号分隔。创建数组有很多方法,最常用的就是以字面量的方式创建.数组是一系列有序的数据集合(自己理解),有长度length

var xx = [];//这是创建一个空数组,保存在一个变量里;

//这是创建一个“有三个数组成员”的数组,并将其保存在一个变量里
var xx2 = [1,2,3];
xx2.length = 3  // 表示数组的长度,就是有几个数组成员
/*
	[下标]表示法获取数组整的成员  arr[0].....,数组索引从0开始
*/

对象

它是一组无序的键值对的集合

// 第一种创建方式 以字面量的方式创建
var xx = {a:1,b:2,c:3}
//这就是一个对象,它里面保存3组值。
for…in…循环

因为对象是无序的,所以它没有 .length 的属性值,不能使用普通循环

var _tempObj = {
	name:'我是老尚',
	age:'年满18',
	face:'长的白、且帅',
	money:'有钱',
	xx:123
}
// 输出,查看此对象里保存了哪些数据
// console.log( _tempObj );
// 获取某一项的值
// console.log( _tempObj.name );
for(var i in _tempObj){
	// 这个变量i里面保存的,就是对象里的键
	console.log( i );
	// 通过方括号表示法,对象里的键,所对应的值
	console.log( _tempObj[i] );
}

js概念

一般情况下,js文件都在html文件的结尾处引入,为了效率考虑.因为html是在浏览器里一行一行的加载,而js是单线程的,会引起阻塞。所以都在html文件的结尾来引入 .js中数据来驱动视图

操作Dom

​ 要操作某个dom,就必须要先获取某dom节点,简单来说,dom就是html标签.

获取某dom节点,要用到 Document 对象.每个浏览器打开(就是加载)的html网页(也就是html文件),浏览器打开的那个html网页,它就变成了 Document 对象,Document 对象有很多方法.

document.getElementById() 获取id**

事件

点击事件

​ dom节点.onclick = function(){},onclick会在dom节点被 点击 时触发。

鼠标事件

​ onmouseover 鼠标移入

​ onmouseout 鼠标移出

数据

​ 页面要显示的文字,图片等都属于数据,一般数据都是保存在数组、对象…之中

创建DOM节点

//本质就是创建一个html标签。要创建的html标签名,必须是html中已经存在的
var 变量 = document.createElement('要创建的html标签名');
//设置dom里面的html内容. 
变量.innerHTML = '内容'
//向html页面中,已经存在的子节点中,添加新的子节点   appendChild()
var xx = document.createElement('div');
var _body = document.body.appendChild(xx);
//实例
// 创建一个dom节点,此时div节点里面是空的
var _div = document.createElement('div');
_div.innerHTML = '12346';
console.log( _div );
// 把新创建的dom节点,添加到html页面中,指定的dom节点上。
_ul_id.appendChild( _div );

原生js获取子节点

// 变量 = 变量.children[0]
children是一个类数组格式,可以通过方括号
var popUp = this.children[0] // 获取第一个子元素,不包括文本节点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值