JavaScript进阶篇QA总结
Q1:常用的运算符有哪些?他们的优先级是怎样的?
A1:
1.算术运算符:加(+)、减(-)、乘(×)、除(÷),自加一(++),自减一(--);
2.比较运算符:大于(>)、小于(<)、大于等于(>=)、小于等于(<=);
3.逻辑运算符:与(&&)、或(||)、非(!);
优先级为:算术操作符 > 比较操作符 > 逻辑操作符 > "="赋值符号;
Q2:关于数组有哪些基本知识?
A2:
1.创建数组的方法:
var arr1 = new Array(10); //通过调用Array()方法创建一个大小为10的数组,再给数组元素赋值;
arr1[0] = 0;
arr1[1] = 1; var arr2 = [0,1,2,3,4,5]; //通过直接赋值的方法创建一个数组;
2.数组的常用属性和方法:
var arr = new Array(10);
document.write(arr.length); //输出数组长度
3.二维数组:将一维数组作为数组元素;
Q3:分支判断语句的语法格式?
A3:
1.两个分支选一个
if(exp)
{...}
else
{...}
2.多个分支选一个
if(exp1)
{...}
else if(exp2)
{...}
else if(exp3)
{...}
else{...}
3.多个分支选一个或多个
switch(x)
{
case a:exp1;break; //如果x=a,则执行exp1,有break,后面分支不执行
case b:exp2; //如果x=b,则执行exp2,没有break,后面分支继续执行
case c:exp3;break;
default:exp4; //如果前面的都没有符合,则执行默认项exp4;
}
Q4:几种循环方式?
A4:
1.for循环
for(i = 0;i<10;i++)
{
...
}
2.while循环
while(exp){ //当条件满足exp时执行
...
}
3.do...while循环
do
{
...
}while(exp); //先执行一次,再判断是否满足exp,满足则继续循环,不满足则退出循环
附送:循环中常用的两个语句:
continue:跳过本次循环,进行下一次循环;
break:跳出当前循环;
Q5:函数(function())的基本知识?
A5:
1.函数:执行特定功能的代码块;
2.函数的要素:关键字、函数名、入参、代码块、出参;
举个栗子:
function lizi(x,y)
{
return x+y;
}
【注释】这是一个函数,功能是将两个数相加,并返回这个和。
其中:function 是定义函数的关键字,为了告诉你这是一台机器;
lizi 是函数名,即这个功能块的标签,告诉你这台机器的名字;
x、y是函数的入参,是加工的原料;
return 后面的东西是函数的出参,是加工的成品;
3.几种调用函数的方法:
1)在JS中直接调用。因为浏览器加载页面时会从上到下执行JS代码,所以读到调用的那一行时即执行了这个函数;
【栗子】
function writting() //定义一个函数
{
document.write("I love writting!");
}
writting(); //JS中直接调用上面的函数,当读到这一行时即执行了这个函数;
2)通过事件调用函数。通过点击事件、鼠标悬浮事件等来触发函数的执行:
【栗子】
<input type="button" onclick="writting()" />
3)通过在其他函数中被调用。一个函数可以条用其他函数作为自己的方法体的一部分,当这个函数执行时,被调用的方法就会执行。
【栗子】
function habit(){
alert("我的爱好是:");
writting(); //当habit函数被调用的时候,就会执行writting,至于habit如何被调用,可以参照上述两种方法。
}
Q6:有哪些事件?
A6:
onclick:点击事件
onfocus:聚焦事件
onblur:失焦事件
onload:加载事件
onchange:文本框内容改变事件
onmouseover:鼠标经过事件
onmouseout:鼠标移开事件
onselect:内容选中事件
onunload:卸载事件
Q7:JS常用内置对象及其方法有哪些?
A7:
1.Date 日期对象
var date = new Date(); //创建一个日期对象,值为当前系统日期
var date = new Date("2012","10","1"); // 创建一个日期对象,初始化值为2012年10月1日
date.setFullYear(2016); //设值年
date.getFullYear(); //获取年
date.setMonth(0); //设值月份(0~11代表1月~11月)
date.getMonth(); //获取月份
date.setDate(); //设值日
date.getDate(); //获取日
date.setHours(); //设值时
date.getHours(); //获取时
date.setMinutes(); //设值分
date.getMinutes(); //获取分
date.setSeconds(); //设值秒
date.getSeconds(); //获取秒
date.setTime(); //给date赋值(以毫秒为单位)
date.getTime(); //获取date值的毫秒数(1970年1月1日 0时0分0秒算起)
date.getDay(); //获取星期(0~6分别表示周日~周六)
2.Sting 字符串对象
var str = "I love JavaScript!"; //创建一个字符串对象str,并给他赋初值为"I love JavaScript";
str.length 属性,获取字符串长度
str.toUpperCase(); //将str变成全大写
str.toLowerCase(); //将str变成全小写
str.indexOf("a"); //获取str中第一个a字母的下标
str.charAt(0); //获取str中下标为0的字符
str.split(","); //将str通过逗号分隔成数组
str.split(",",2); //将str通过逗号分隔成数组,且只保留前两个数组元素
str.substring(2); //截取字符串(从下标为2的字符开始,包含下标为2的字母,下标从0开始)
str.substring(2,5); //截取字符串(截取下标为[2,5)的字符串,下标从0开始)
str.substr(2); //提取字符串(从下标为2开始截取,知道最后)
str.substr(2,6); //提取字符串(提取下标从2开始,长度为6的字符串)
3.Math 数学对象
Math.PI; //获取圆周率
Math.abs(-6); //获取绝对值
Math.ceil(6.5); //向上取整(ceil:天花板)
Math.floor(6.5); //向下取整(floor:地板)
Math.round(6.5); //四舍五入
Math.random(); //获取(0,1)区间内的随机数
4.Array 数组对象
var arr1 = new Array(); //定义了一个空数组
var arr2 = new Array(10); //定义了一个大小为10的数组
var arr3 = [0,1,2,3,4,5,6]; //定义了一个数组,并直接初始化(赋初值)
arr1.concat(3,4,5,6); //连接:向arr1中添加数组元素
var arr4 = arr1.concat(arr2); //连接:将arr2的元素连接到arr1后面,作为新的数组arr4返回
var str = arr3.join(); //jion方法是一个工具方法,用逗号将arr3中数组元素都连接起来成一个字符串并返回
var str = arr3.join("&"); //用&符号连接每个数组元素
var arr5 = arr3.reverse(); //数组倒序
var arr6 = arr3.slice(3); //截取数组:截取下标从3开始(包含3)的数组作为新数组
var arr7 = arr3.slice(3,7); //截取数组:截取下标范围为[3,7) 的数组作为新数组
var arr8 = arr3.sort(); //对数组arr3进行排序,将排序后的数组作为新数组返回
Q8:window对象有哪些常用方法?
A8:
1.定时器
setTimeout(function,delay); //定时执行function,仅一次
setInterval(function,delay); //定时执行function,没每隔delay时长执行一次
clearTimeout(id); //清除定时器,id为对应setTimeout()的返回值
clearInterval(id); //清除定时器,id为对应setInterval()的返回值
location.href; //获取当前URL
location.href="http://www.baidu.com/"; //设值当前地址为指定地址
location.reload(); //重新加载当前页(刷新)
location.replace("http://www.baidu.com/"); //将当前页替换成指定地址
Q9:JS如何操作HTML的DOM节点?
A9:
1.获取节点的常用方法有:
var obj = document.getElementById("abc"); //获取HTML标签中id属性值为"abc"的DOM节点,返回一个DOM对象
var objs = document.getElementsByName("abc"); //获取HTML标签中所有name属性值为"abc"的DOM节点,返回数组
var objs = document.getElementsByTagName("div"); //获取HTML中所有div标签的DOM节点,返回数组
2.DOM对象的一些属性和方法:
obj.getAttribute("name"); //获取DOM对象的name属性的值
obj.setAttribute("name","Hello"); //设值DOM对象的name属性的值为"Hello"
var nodes = obj.childNodes; //获取obj节点的所有子节点对象,返回数组
var node = obj.firstChild; //获取obj节点的第一个子节点对象
var node = obj.lastChild; //获取obj节点的最后一个节点对象
var node = obj.parentNode; //获取obj节点的父节点
var node = document.createElement("div"); //创建一个div标签对象
var textnode = document.createTextNode(data); //创建文本节点
appendChild(newnode); //给指定DOM对象添加一个子元素
insertBefore(newnode,node); //在node节点前面插入一个新的节点newnode
nodeObject.removeChild(node);//将某个子节点移除
nodeObject.replaceChild(newnode,oldnode); //用newnode替换oldnode节点
JavaScript进阶篇QA总结的更多相关文章
- #笔记#JavaScript进阶篇一
#JavaScript进阶篇 http://www.imooc.com/learn/10 #认识DOM #window对象 浏览器窗口可视区域监测—— 在不同浏览器(PC)都实用的 JavaScrip ...
- 4、JavaScript进阶篇①——基础语法
一.认识JS 你知道吗,Web前端开发师需要掌握什么技术?也许你已经了解HTML标记(也称为结构),知道了CSS样式(也称为表示),会使用HTML+CSS创建一个漂亮的页面,但这还不够,它只是静态页面 ...
- JavaScript进阶篇 - -第1章 系好安全带
第1章 系好安全带 html,body { font-size: 15px } body { font-family: Helvetica, "Hiragino Sans GB", ...
- 6、JavaScript进阶篇③——浏览器对象、Dom对象
一.浏览器对象 1. window对象 window对象是BOM的核心,window对象指当前的浏览器窗口. window对象方法: 注意:在JavaScript基础篇中,已讲解了部分属性,windo ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--DOM对象 控制HTML元素
1.认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面 ...
- 二、JavaScript语言--JS基础--JavaScript进阶篇--JS基础语法
1.变量 定义:从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品可以是衣服.玩具.水果...等. 命名:变量名字可以任 ...
- Javascript进阶篇——总结--DOM案例+选项卡效果
断断续续的把慕课的JavaScript基础和进阶看完了,期间不怎么应用有的都忘记了,接下来多开始写些效果,进行实际应用. 制作一个表格,显示班级的学生信息. 1. 鼠标移到不同行上时背景色改为色值为 ...
- javascript 进阶篇1 正则表达式,cookie管理,userData
首先,什么事正则表达式呢,其实引入概念很多时候并不能帮我们明白它到底是什么,所以我先简单描述下,正则表达式,其实就是一个记录字符串规则则的字符串,等我们看完这一部分,也就能明白它到底是什么了. 基本语 ...
- 慕课网javascript 进阶篇 第九章 编程练习
把平常撸的码来博客上再撸一遍既可以加深理解,又可以理清思维.还是很纯很纯的小白,各位看官老爷们,不要嫌弃.最近都是晚睡,昨晚也不例外,两点多睡的.故,八点起来的人不是很舒服,脑袋有点晕呼呼,鉴于昨晚看 ...
随机推荐
- 移动开发--Hybrid和Native混合开发-->HybridApp 、NativeApp、WebApp
1.1. APP三种开发模式 智能手机之普及不用多说,手机APP渗投到各个行业:电商(淘宝.京东等).金融(各手机行业.P2P借贷等).医疗(智慧医疗).交通(滴滴.Uber等).教育(慕课网 ...
- Pyhton 利用threading远程下发文件和远程执行linux系统命令
#!/usr/bin/env python # encoding: utf-8 #__author__ = 'cp' #__date__ = '21/07/16 上午 10:32' import th ...
- Python标准库的threading.Thread类(转自别人的翻译)
这个类表示在单独的控制线程中运行的活动.有两种方法可以指定这种活动,给构造函数传递回调对象,或者在子类中重写run() 方法.其他方法(除了构造函数)都不应在子类中被重写.换句话说,在子类中只有__i ...
- Android之登录那点事
随着互联网的高速发展,一个应用为了保护用户的隐私,通常会通过设置用户名+密码的验证方式保证用户隐私的相对安全,我知道一般网站的登录验证,通常会设置一个二维码,通过验证二维码,防止恶意软件通过机械程序, ...
- ASP.NET MVC之文件上传【二】(九)
前言 上一节我们讲了简单的上传以及需要注意的地方,查相关资料时,感觉上传里面涉及到的内容还是比较多,于是就将上传这一块分为几节来处理,同时后续也会讲到关于做上传时遗漏的C#应该注意的地方,及时进行查漏 ...
- 修复bootstrap daterangepicker中的3个问题
最近项目中使用了一个基于Bootstrap的daterangepicker控件. 1.点击页面其他空白的地方,会把之前在日历上选中的日期选择上. 具体描述: 1.点击打开日期选择框 2.选择一个日期范 ...
- 【记录】JS 生成 URL 二维码
示例代码: <html> <head> <title>example</title> </head> <body> <sc ...
- 我的编程开始(C)
一,前言 写完t-sql系列,想了想自己的编程之路,一直有个想法,把自己这两年所整理的编程知识拿出来和大家分享,本来写完t-sql是想写一些设计思想的,因为现在也是在学习和整理一些简单框架,经常泡在大 ...
- AOP的实现机制--转
原文地址:http://www.iteye.com/topic/1116696 1 AOP各种的实现 AOP就是面向切面编程,我们可以从几个层面来实现AOP. 在编译器修改源代码,在运行期字节码加载前 ...
- 理解JAVASCRIPT 闭包
最近去面试了一家企业,结果非常灰心丧气,于是周末给自己定了一个目标 学好一门,学精通一门.不求多,只求懂. 最近看到一个概念“闭包”. 什么是闭包呢? 简单一点就是:看得到多和看得到少的区别. 上面这 ...