javascript基础

5 篇文章 0 订阅
3 篇文章 0 订阅

js

js引入

三种方法:

  • 直接在元素中,使用onclick属性-*不使用
  • <body>中加入script标签
  • 将内容放入.js文件中,在<body>中使用script引入
    <srcipt type="text/javascript" src="hello.js"></script>

注释

JSDoc注释规则
----必须以 /** 开始
@constructor 构造函数声明注释
@param 参数注释----参数标签可表示一个参数的参数名、参数类型和参数描述的注释。
@return 返回值注释
@example 示例注释
@overview 对当前代码文件的描述。
@copyright 代码的版权信息。
@author <name> [<emailAddress>] 代码的作者信息。
@version 当前代码的版本。

变量

var 变量名
-区分大小写
-首字符必须是字母、_、或$
-非关键字或保留字,如var

var name = "bottle";
var price = 49;
var diameter = 6.7;
var isKeepWarm = true;

或者

var name = "bottle",
    price = 49,
    diameter = 6.7,
    isKeepWarm = true;

局部变量和全局变量

局部只能在定义变量的当前方法中访问
全局变量可以随意使用

数据类型简介

-基本数据类型
-Object
typeof

Number类型

  • 数值类型
    整数、浮点数、NaN
    NaN–not a number,非数字
    任何操作都会返回NaN
    与任何值都不相等,包括自身
  • 数值转换
    Number(),parseInt()-忽略小数点,parseFloat()-多个小数点只取第一个。
    把非数值转换为数值。第一个可以用于任何数据类型,后两个则专门用于把字符串转化为数值。
  • 数值范围
  • 数学函数
    Math函数–round\random\sqrt\max\sin

String类型

  • 拼接
  • 长度
  • 索引

console.log(type.length);//长度
console.log(type[0]);//第一个字,兼容性有问题
console.log(type.charAt(0));//第一个字

Boolean类型

判断
true\false

Null和Undefined类型

Null:数据为空 -object
Undefined:变量声明了,但是没有初始化 -undefined

Object类型

var bottle = {
   name: 'bottle',
   price: '49',
   isKeepWarm: true
}

console.log(bottle.name);//读
bottle.name = ‘cup’;//改
bottle.color = ‘blue’;//写
console.log(bottle[‘is keep warm’]);//特殊读

数组简介

var bottles = [’ ‘,’ ‘,’ ‘,’ ‘];
var bottles = new Array(’ ‘,’ ‘,’ ‘,’ ‘);//构造函数
console.log(bottles[0]);//读
bottles[1]=’’;//写
bottles.push(’ ‘);数组末尾添加一个元素
bottles.pop();数组末尾删除一个元素
bottles.shift();数组开头删除一个元素
bottles.unshift(’ ');数组开头添加一个元素
slice(1,4);//从开始到结束(不包括结束),复制
splice(1,3);//从1开始,截取3个,剪切
a.concat(b);//合并
reverse();//倒序
sort();//默认升序排序------sort可以传入函数后进行降序和随机排序

函数

函数声明----在程序的任何地方声明了都可以调用
关键字 函数名 (参数){
函数内容
返回值
}
函数表达式----要先声明才能调用
把函数赋值给一个变量

比较运算符

===严格相等
!==严格不相等

//非严格相等----先类型转换,再比较
3==‘3’//true
3!==‘3’//false

//严格相等----不会进行类型转换(推荐使用)
3===‘3’//false
3!==‘3’//true

流程控制

if语句

if(条件)执行1 else 执行2
三元运算符
判断条件?(条件为真时执行):(条件为假时执行)

switch语句

 switch(){
      case:
        内容;
      break;
      default:
        内容;
}

循环语句

记得设置条件变化,不然容易死循环

-while语句–先判断再执行

while(条件){
  循环体;
}

-do-while语句–先执行再判断

do{
  循环体;
}while(条件)

-for语句–先判断后执行

for([循环前的初始化操作];[判断表达式];[每次循环后执行的代码]){
    循环执行的代码;
}

-break和continue语句
break用于跳出整体的循环
continue用于跳出当前执行的循环

-for-in语句

for(var 变量 in 对象){
   循环执行的代码;
}

BOM(Browser Object Model 浏览器对象模型)

location--地址栏

最有用的bom对象之一
提供了文档相关的信息
导航
归属:window、document
属性和方法:href、path、assign()、reload()

navigator--客户端

客户端的相关信息
userAgent 浏览器的用户代理字符串
platform 浏览器所在系统平台

history--用户访问记录

保存着用户上网的记录
从窗口被打开的那一刻算起
length 数量
go() 跳转
forward() 前进
back() 后退

window

global全局作用域
将游离的变量、函数变成window对象的属性和方法

系统对话框
alert–没有结果
confirm–有结果,选项
prompt–有结果,输入内容

DOM(Document Object Model-文档对象模型)

它是一套针对 HTML 文档的 API (应用程序编程接口)。
html树—>DOM树—>页面
DOM 是 JS 和 HTML 的桥梁

DOM节点

node是一个对象
十二种类型(重点4个)

DOCUMENT_NODE

Document类型
nodeType 9
ndoeName #document

  • 不是html元素
  • 挂靠各种常用的api

ELEMENT_NODE

Element类型
nodeType 1
ndoeName 元素的标签名

  • html元素
  • 属性
  • 创建/删除元素
    createElement(tagName)–创建

TEXT_NODE

Text类型
nodeType 3
ndoeName #text

  • data和nodeValue
  • 创建文本节点

DOCUMENT_FRAGMENT_NODE

DocumentFragment类型
nodeType 11
ndoeName #document-fragment

  • 作为仓库来使用

DOM查找

document.getElementById();//一个元素 按id查找
[document|Element].getElementsByClassName()//HTML Collection 多个元素 按类查找
[document|Element].getElementsByTagName()//按元素查找
[document|Element].querySelector()–CSS选择器
[document|Element].querySelectorAll()–CSS选择器

DOM新增和删除

insertBefore();前面插入
appendChild();后面追加
新增多个元素时使用循环语句
或者使用DocumentFragment当仓库
removeChild();删除一个元素
删除多个先用querySelectorAll()查找,然后循环删除

property和attribute

属性,property
特性,attribute
区别

  • 公认的attribute会映射到property
  • 读写方式
  • 特别的值,如class,style等

DOM修改样式

style = ‘color : red; background-color : #ddd’;
class

DOM内容修改

文本节点
innerHTML和outerHTML

DOM遍历

function traversal(dom){
   var len = dom.length;
   var i = 0;
   var d = null;
for( ; i < len; i++){
   d = dom[i];
   console.log(d);
   if(d.children){
       traversal(d.childNodes);
   }
  }
}
traversal(document.querySelector('ul').children);

事件

事件模型

事件捕获,处于目标,事件冒泡

事件处理程序

  • 添加
    h1.addEventListener(type,handle,false)
  • 作用域
    this
  • 删除
    h1.removeEventListener(type,handle)

事件类型

鼠标类
click
mousedown
mouseup
mouseenter
mouseleave
mouseover
mouseout
mousemove

键盘类
keydown
keypress
keyup

UI类事件
load
unload
resize
scroll

jQuery

jQuery引入

本地文件
<script src="js/jquery.min.js"></script>

内容分布式网络CDN

//非压缩版
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>

//压缩版

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>

jQuery中的$

$ === jQuery
$()---->jQuery对象 类数组带有额外方法
$(string)
$(dom element)

jQuery选择器---->(实现)CSS选择器

基本选择器

$(tag)----按标签选择
$(.class)----按类名选择
$(#id)----按id选择
$(*)----匹配所有元素

组合选择器

$(selector1,selector2)----多元素选择器
$(selector1 selector2)----后代元素选择器
$(selector1>selector2)----子元素选择器
$(selector1+selector2)----毗邻元素选择器

其他选择器

$(selector:first-child) 选取第一个子元素
$(selector:last-child) 选取最后一个子元素
$(selector:eq(index)) 选取集合中第index个子元素
$(atttribute=value) 选取属性值为value的元素

遍历DOM元素

//获取父元素

$('#me').parent();

//获取所有父元素和祖先元素

$('#me').parents();

//使用.eq()函数获取相应元素

$('#me').parents().eq(0);//获取父亲
$('#me').parents().eq(1);//获取爷爷

//使用.parents(selector)来精确查找

$('#me').parents('.fat');
$('#me').parents('.oldest');

//获取所有的兄弟元素

$('#me').siblings();

//通过使用selector来精确查找

$('#me').siblings('.tall');

//使用.children()获取子元素

$('#grandPa').children();

//使用.find(’*’)获取所有子孙元素

$('#grandPa').find('*');

//使用.find(selector)精准获取子孙元素

$('#grandPa').find('.youngest');

添加和移除DOM元素

添加

append/appendTo 在被选元素的结尾插入内容
prepend/prependTo 在被选元素的开头插入内容
after/insertAfter 在被选元素之后插入内容
before/insertBefore 在被选元素之前插入内容

移除

empty
remove

jQuery事件监听

触发事件的目标元素
触发的事件名称
事件触发时的回调
事件对象

$('#target').on('click',function(event) {
    console.log('target');
    $('body').css('background','#ff0');
});//----推荐使用

//jQuery快捷方法click

$('#target').click(function(event) {
    console.log('target');
    $('body').css('background','#ff0');
});

事件委托
jQuery内部存在隐形迭代,提供了链式操作

// 原始版
$('div').hide(); //隐藏页面上所有的div元素
$('div').text('new content'); //更新所有div元素内的文本
$('div').addClass("updatedContent"); //在所有的div元素上添加值为updatedContent的class属性
$('div').show(); //显示页面上所有的div元素

// 重写版,链式
$('div').hide().text('new content').addClass("updatedContent").show();

// 缩进版
$('div')
  .hide()
  .text('new content')
  .addClass("updatedContent")
  .show();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值