前端-js基础
HTML三把利剑之一,浏览器具有解析js的能力
一、js基础
在HTML中可以将JavaScript/JS的代码写在head中,被script标签所包裹,当浏览器解释HTML时,遇到style标签时,按照CSS规则解释,遇到Script标签时,按照JavaScript的语法规则解释。
引入JavaScript代码,类似于Python的import
<script src="public.js" type="text/javascript"></script>
head中引入JS与body中引入JS区别
html代码从上而下解析,如果在head中引入JS,影响页面打开的速度,存在风险,所以通常放在htmlbody的最下方,这样页面内容先展示,最后在加载JS。注:写在最下面要有底线,写在body内部的最底下。
注释
单行注释通过 // 多行通过 /* */
1.1 js变量
const a = 1//定义常量,不可以修改
let name = 'xiaolin'//定义变量,没有预解析
var name1 = 'xiaoxiaolin'//定义变量,预解析,提前给定义为undefined,
1.2 字符串
//定义字符串
var str = '你开心就好';
var name='疯狂的石头';
//字符串的拼接
var name_str = name+str;
//字符串操作
str.charAt(0)//根据角标获取字符串中的某一个字符 char字符
str.substring(1,3) //根据角标获取 字符串子序列 顾头不顾尾(大于等于x 小于y )
str.length //获取字符串长度
str.concat('五月天') //拼接字符串
str.indexOf('五月')//获取子序列的位置
str.slice(0,1)//切片 开始,结束 顾头不顾尾
str.toLowerCase()//变为小写
str.toUpperCase()//变为大写
str.split(',')//以指定的字符串进行分割,返回数组,参数2为取分割后数组的前多少个元素
1.3 数字类型
var age=19;
var score = 89.5;
number = '18';
//字符串转换
var n = parseInt(number);
//转换为小数
f = parseFloat(number);
//布尔类型
var t = true;
var f = false;
1.4 数组类型
// 第一种创建方式
var list = new Array();
list[0] = '李四';
list[1] = '王五'; // 第二种创建方式
var list2 = new Array('李四','王五'); // 第三种创建方式
var list3 = ['李四','牛教授']; 数组操作
var list4 = ['李四','王五']; list3.length;// 数组的长度 list3.push('dsx');// 尾部追啊参数 list3.shift();// 头部获取一个元素 并删除该元素 list3.pop();// 尾部获取一个元素 并删除该元素 list3.unshift('dsx');// 头部插入一个数据 list3.splice(start, deleteCount, value);// 插入、删除或替换数组的元素 list3.splice(n,0,val) ;//指定位置插入元素 list3.splice(n,1,val);// 指定位置替换元素 list3.splice(n,1);// 指定位置删除元素 list3.slice(1,2);// 切片; list3.reverse() ;//反转 list3.join('-') ;//将数组根据分割符拼接成字符串 list3.concat(['abc']);// 数组与数组拼接 list3.sort() ;//排序
1.5 对象类型(等同于Python的字典)
var dict = {name:'dsx',age:18,sex:'男' };
var age = dict.age;
var name = dict['name'];
delete dict['name'] 删除
delete dict.age 删除
1.6 js条件判断语句
var score = 89
if(score>=90){
console.log('优秀')
}else if(score>=80 && score<90){
console.log('良好')
}else if(score>=60 && score<80){
console.log('中等')
}else{
console.log('不及格')
} switch (score) {
case 90:
console.log('优秀')
break;
case 80:
console.log('良好')
break;
default;
1.7 js循环语句
//第一种循环
//循环的是角标
tmp = ['宝马', '奔驰', '尼桑'];
tmp = '宝马奔驰尼桑';
tmp = {'宝马': 'BMW', '奔驰': 'BC'};
for (var i in tmp) {
console.log(tmp[i])
}
//第二种循环
//不支持字典的循环
for (var i = 0; i < 10; i++) {
console.log(tmp[i])
}
//第三种循环
while (1 == 1) {
console.log(111)
}
1.8函数
// 普通函数
function funcName(name,age) { }
funcName('lis',78); //匿名函数,函数即变量
var funcNameTwo = function(){ };
funcNameTwo()
二、DOM
DOM(Document Object Model 文档对象模型)
一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到html的各个标签。通过找到标签就可以操作标签使页面动起来,让页面动起来。
2.1 获取标签
//直接获取标签
document.getElementById('id1');//根据id获取标签
document.getElementsByName('elname');//根据属性name获取标签数组
document.getElementsByTagName('div');//根据标签名称获取标签数组
document.getElementsByClassName('c1');根据属性class获取标签数组 //间接获取标签
var temp = document.getElementById('id1');
temp.parentElement;//父节点标签元素
temp.children;//所有子节点
temp.firstElementChild;//第一个子标签元素
temp.lastElementChild;//最后一个标签元素
temp.nextElementSibling;//下一个兄弟标签元素
temp.previousElementSibling;//上一个兄弟标签元素
2.2 文本内容操作
//文本内容操作:
// innerHTML和innerText
temp.innerText;//获取标签中的文本内容
temp.innerHTML;//获取标签中的所有内容,包括html代码
temp.innerText='fdsfsfs';//修改标签中的文本内容
temp.innerHTML='<input type="text">fdsfsfs</input>'//可以将html格式的字符串变为标签 //input textarea标签
temp.value;//获取input,textarea的值
temp.value='fdsfsfs';//修改input,textarea的值 //select标签
tmp.value; //获取select标签的value参数
tmp.value = '选项' // 修改select选项
tmp.selectedIndex; // 获取select标签的选项下标
tmp.selectedIndex = 1 // 通过下标更改select的选项
2.3 事件
<!-- 直接绑定-->
<input type="button" id="b1" onclick="show()">
function show() {
alert('fdsfsdlfsjflskjdf')
} <!--间接绑定-->
<input type="button" id="b2" >
var b2 = document.getElementById('b2');
b2.onmouseover = function () {
b2.style.backgroundColor='red'
} // 间接绑定的this代指,getElementById找到的这个标签
var obj = document.getElementById('b2');
obj.onmouseout = function () {
this.style.background = '';
}
前端-js基础的更多相关文章
- 前端JS基础知识
1. 原型 / 构造函数 / 实例 原型(prototype): 一个简单的对象,用于实现对象的 属性继承.可以简单的理解成对象的爹.在 Firefox 和 Chrome 中,每个JavaScript ...
- Python 前端 js基础
Javascript 概述 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的 ...
- 前端总结·基础篇·JS(一)五大数据类型之字符串(String)
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(二)补充 前端总结·基础篇·JS(一)五大数据类型之字符串(String) 目录 这是& ...
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
- 前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 前端总结·基础篇·JS(四)异步请求及跨域方案
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- 前端工程师面试问题归纳(一、问答类html/css/js基础)
一.参考资源 1.前端面试题及答案整理(一) 2.2017年前端面试题整理汇总100题 3.2018最新Web前端经典面试试题及答案 4.[javascript常见面试题]常见前端面试题及答案 5.W ...
- 前端总结·基础篇·JS(一)原型、原型链、构造函数和字符串(String)
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
随机推荐
- ALD技术,相机去噪,图像传感器
ALD技术,相机去噪,图像传感器 1. 作为镜片的防反射涂层技术被关注的ALD(atomic layer deposition)的引入趋势. (a)为什么需要一种新的防止反射的涂层技术? ALD被认为 ...
- Camera Lens Coating
Camera Lens Coating Coating Progress 转换镜头,根据要求进行OEM和设计. 光学元件:望远镜.显微镜.相机和数码相机镜头.放大镜头和远摄镜头.定心镜头.投影镜头.投 ...
- 先进一站式IP及定制
先进一站式IP及定制 芯动科技15年来立足中国本土,目前已实现从130nm到5nm工艺高速混合电路IP核全覆盖,且所有IP均自主可控,一站式赋能国产芯片发展. 提供经过批量生产验证或硅验证的IP产品, ...
- C++ OP相关注意事项
C++ OP相关注意事项 Paddle中Op的构建逻辑 1.Paddle中Op的构建逻辑 Paddle中所有的Op都继承自OperatorBase,且所有的Op都是无状态的,每个Op包含的成员变量只有 ...
- Linux 2 的 Windows 子系统上发布 CUDA
Linux 2 的 Windows 子系统上发布 CUDA 为响应大众需求,微软 宣布 在 2020 年 5 月的 建造 大会上推出了 建造 ( WSL 2 ) – GPU 加速功能.这一特性为许多计 ...
- day05对象和类
day06作业: 第一题:分析以下需求,并用代码实现 手机类Phone 属性: 品牌brand 价格price 行为: 打电话call() 发短信sendMessage() 玩游戏playGame() ...
- Web打印插件实现思路(C#/Winform)
最近,客户有个需求过来,Web端无预览打印,美其名曰:快捷打印. 当时第一反应就是找插件,拿来主义永远不过时.找了一圈发现,免费的有限制,没限制的需要收费(LODOP真的好用).说来就是一个简单的无预 ...
- 【NX二次开发】Block UI 指定坐标系
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 网页站点下载器teleport ultra
软件名称:teleport ultra 介绍:teleport ultra是一款专门的网页站点下载器,使用这款工具可以方便地下载网页数据,包括网站的文字.图片.flash动画等,可以轻松下载所有的网站 ...
- MEMORY_TARGET不够时解决办法
一.报错原因:设置的memory_max_target超过了系统中设置的share memory(/dev/shm)而已. 二.解决办法:增加tmpfs的大小 三.调整tmpfs的大小(两种方法) 1 ...