javascript

js的简介

完整的js实现包含了三个部分:
ECMAScript,DOM和BOM.

js的特点:

  1. 解释性语言
  2. 类似于c和java的语法结构
  3. 动态语言
  4. 基于原型的面向对象

js基本语法

在这里插入图片描述
innerHTML() 通过这个属性可以获取元素内部的html代码
innerText() 该属性可以获取到元素内部的文本内容

数据类型指的就是字面量的类型:
在js中一共有六种数据类型

  1. string 字符串
  2. number 数值
  3. Boolean 布尔
  4. null 空值
  5. Undefined 未定义
  6. Object 对象

强制转换:
将其他数据类型转换为String
方式一:调用被转换数据类型的tostring()方法,该方法不会影响到原变量
注意:null和undefined这两个值没有tostring()方法,如果调用他们的方法,会报错.
方式二:调用string()函数,并将被转换的数据作为参数传递给函数

将其他数据类型转换为Number
方式一::调用Number()函数
字符串 -->数字

  1. 如果是纯数字的字符串,则直接将其转换为数字
  2. 如果字符串种有非数字的内容,则转换为NAN
  3. 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
    布尔 -->数字
    true 转成 1
    false 转成 0
    null -->数字 0
    undefined -->数字 NAN

方式二:这种方式专门对付字符串 parseInt(),parseFloat()
如果是非string使用parseInt()或parseFloat()它会先将其转换为String然后在操作

对象的分类:

  1. 内建对象
    由ES标准中定义的对象,在任何的ES的视线中都可以使用
    比如: Math String Number Boolean Function Object

  2. 宿主对象
    由js的运行环境提供的对象,目前来讲主要是指由游览器提供的对象
    比如 BOM DOM

  3. 自定义对象
    由开发人员自己创建的对象

    例如: var obj = new Object();
    向对象添加元素: obj.name = “孙悟空”; obj.age = 18
    删除对象的属性 delete 对象.属性名 delete obj.name

如果需要使用特殊的属性名,不能采用.的方式来操作
需要使用另一种方式:
语法: 对象[“属性名”] = 属性值
读取时也需要采用这种方式
使用[]这种形式去操作属性,更加灵活
在[]中可以直接传递一个变量,这样变量值是多少就会去读取那个属性

js基础

函数的简介

  • 函数function:
    • 函数也是一个对象
    • 函数可以封装一些功能(代码),在需要时可以执行这些功能(代码)
    • 函数中可以保存一些代码在需要的时候调用
    • 使用typeof检查一个函数对象时,会返回function
  • 使用构造函数(了解即可)
    var fun = new Function(“console.log(‘Hello 这是我的第一个函数’);”)
  • 使用函数声明来创建一个函数
    语法: function 函数名([形参1,形参2…形参N]){}
  • 使用函数表达式来创建一个函数
    语法: var 函数名 = function([形参1,形参2…形参N]){}
  • 立即执行函数 函数定义完,立刻被调用,这种函数叫做立即执行函数,立刻执行函数往往只会执行一次
    语法:(function(){alert(“我是一个匿名函数~~”)})();

作用域

作用域指一个变量的作用的范围

  1. 全局作用域:
    直接编写在script标签中的JS代码,都在全局作用域
    全局作用域在页面打开时创建,在页面关闭时销毁
    在全局作用域中有一个全局对象window,我们可以直接使用,它代表是一个游览器的窗口,他有游览器创建我们可以直接使用
    在全局作用域中:
    创建的变量都会作为window对象的属性保存
    创建的函数都会作为window对象的方法保存

变量的声明提前
- 使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会被赋值)
- 但是如果声明变量时不使用var关键字,则变量不会被声明提前

函数的声明提前
- 使用函数声明形式创建的函数function函数(){}
- 他会在所有的代码执行之前就被创建,所以我们可以在函数声明前来调用函数.使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用
2. 函数作用域:
- 调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
- 每调用一次函数就会创建一个新的函数作用域,他们之间是互相独立的
- 在函数作用域中可以访问到全局作用域的变量,在全局作用域中无法访问到函数作用域的变量
- 当在函数作用域操作一个变量时,它会在自身的作用域中寻找,如果有就直接使用,如果没有则向上一级作用域中寻找,直到找到全局作用域,如果全局作用域依然没有找到,则会报错ReferenceError
- 在函数中要访问全局变量可以使用window对象

this关键字

解析器在调用函数每次都会向函数内部传递进一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们称为函数执行的上下文对象,
根据函数的调用方式不同,this会指向不同的对象

  1. 以函数的形式调用时,this永远都是window
  2. 以方法的形式调用时,this就是调用方法的那个对象

DOM

在这里插入图片描述
获取元素节点:
通过document对象调用

  1. getElementById() 通过id属性获取一个元素的节点对象
  2. getElementsByTagName() 通过标签名获取一组元素节点对象
  3. getElementsByName() 通过name属性获取一组元素的节点对象
    在这里插入图片描述
    在这里插入图片描述
    事件,就是用户和游览器之间的交互行为.比如:点击按钮,鼠标移动,关闭窗口
    常用:为按钮的对应事件绑定处理函数的形式来响应事件,这样当事件被触发时,其对应的函数将会被调用

游览器在加载一个页面的时,是按照自上向下的顺序加载的
读取到一行就运行一行,如果将script标签写在页面的上边,在代码执行时,页面还没有加载(如果想将js代码写在head头部里面,可以给window绑定onload事件会在整个页面加载完成之后才触发)

childNodes属性会获取包括文本节点在内的所有节点
根据DOM标签标签空白也会当成文本节点
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值