`
yumo12
  • 浏览: 17897 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

js一起学07:js基础知识总结

    博客分类:
  • js
阅读更多
一、理论知识总结
1. 什么是js:就是修改样式
2. 事件
onclick鼠标点击事件  onload加载事件  onmouseover---onmouseout鼠标移入移出事件    onchange更改事件、改变事件   onmousedown---onmouseup鼠标按下抬起事件
3. 获取元素的方式
(1)getElementById(id); ---通过id获取一个元素
(2)getElementsByTagName(标签名);---通过标签名获取一组元素
(3)getElementsByClassName(类名)---通过class获取一组元素(不兼容,ie6-ie8)---getByClass
function getByClass(sName){
     var aEle = document.getElementsByTagName('*');
     var result = [];
     for(var i=0;i<aEle.length;i++){
          var aClass = aEle[i].className.split(' ');
          if(findInArr(aClass,sName)){
               result.push(aEle[i]);
          }
     }
 return result;
}
function findInArr(arr,name){
     for(var i=0;i<arr.length;i++){
          if(arr[i]==name){
               return true;
          }
     }
     return false;
}
4. 变量
(1)别名,把很长的东西简写。用变量的地方,就像用东西本身一样
(2)变量&&字符串:变量没有引号,字符串有引号
5. 函数
(1)为什么要写函数:方便重用,写一次,以后直接调用就i型那个。代码写在行间太乱
(2)函数名:随便取,只要不用保留关键字就行
(3)两个概念:定义----只是告诉系统有这么个东西,不会真正执行里面的代码。调用----真正执行函数中的代码,调用几次就执行几次
                           只定义不调用,函数不执行;只调用不定义,找不到函数,报错。
                           在哪儿定义不重要,重要的是在哪儿调用,用的时候是多少,就是多少
6. 判断
if(条件1){  语句1;
}else if(条件2){  语句2;
}else{  语句n;
}
如果只执行一句话,if可以不写大括号
7. a链接:<a href="javascript:;"></a>
8. javascript的几种类型      字符串  数字   布尔   undefined   object   function
9. 参数[ ]可以代替点,只要是js中出现点的地方,都可以用[ ]代替。
10. 数组
(1)[1,2,3,4,5];     new Array(1,2,3,4,5);    没有任何区别,第一个性能略高
(2)length:获取数组长度
(3)下标:获取某一个元素。下标从0开始
11. 循环
(1)什么是循环:重复执行一段代码。初始化、条件、自增、语句
(2)while(条件){执行的语句;}-----适合操作次数不固定的循环
(3)for(初始化; 条件; 自增){执行的语句;}----适合操作次数固定的循环
(4)for(var i in json){ //i---键    json[i]----值     适合用于json}
12. 定时器
(1)每隔一段时间执行一次:setInterval();----clearInterval();
(2)只执行一次:setTimeout();----clearTimeout();
13. Date对象
get...  set...   new Date();   
getTime();----获取的是格林威治时间--1970年1月1日0时0分0秒0毫秒开始到目前为止的毫秒数
var time=19563096473;
var s=parseInt(time/1000);
var d=parseInt(s/86400);
s%=86400;
var h=parseInt(s/3600);
s%=3600;
var m=parseInt(s/60);
s%=60;
d  h  m  s
14. 字符串常用方法
indexOf----lastIndexOf从...往...查找字符          substring 截取字符串      split 切分字符串       toUpperCase---toLowerCase转换成大/小写 
15. 数组的常用方法
push--pop    最后一位添加/删除           splice 增删改            reverse 反转         concat 链接
unshift---shift   第一位添加/删除          join 转字符串           sort 排序(sort(function(a,b){return a-b;}))
16. json   json和数组的区别:json没有length
17.Math
abs绝对值   sqrt开平方   pow--n次方    max/min--最大/小值    round--四舍五入   floor--向下取整    ceil--向上取整     random--随机数
18.浏览器判断: window.navigator.userAgent.indexOf('MSIE 6.0')!=-1;
二、笔试题
1. parseInt 转整数    parseFloat 转小数     Number 转数字,但是更严格。 
2. function getStyle(obj,name){
     if(obj.currentStyle){
          return obj.currentStyle[name];
     }else{
          return getComputedStyle(obj,false)[name];
     }
}
function rnd(n,m){
     return parseInt(n+Math.random()*(m-n));
}
3. 真:true 非零 非空字符串 非空对象
    假:false 0 ‘’ null NaN undefined
4. function getToDay(){
 var oDate = new Date();
 var Y = oDate.getFullYear();
 var M = oDate.getMonth()+1;
 var D = oDate.getDate();
 return M+'/'+D+'/'+Y;
}
5. showing test undefined
6. function a(){alert('a')} a undefined undefined
7. var oDate = new Date();
    oDate.setFullYear(setFullYear(),0,1);
    oDate.setMonth(0,1);
8. function sum(){
       var result = 0;
       for(var i=0;i<arguments.length;i++){
            result+=arguments[i];
       }
       return result;
  }
9. 假设有str
str.substring(str.lastIndexOf('.')+1);
10. 字符串转数组 split('切的方式')
      数组转字符串 join('链接的方式');
11. var str = "Welcome to ZhiNengShe!";
      vara s = str.substring(0,str.length-1);
      s.split(' ').reverse().join(' ');
12. if(window.navigator.userAgent.indexOf('MSIE 6.0')!=-1){   //是ie6}
13. 自定义属性
for(var i=0; i<aBtn.length; i++){
    aBtn[i].index=i;
    aBtn[i].onclick=function(){
         alert(this.index);
    }
}
14. 封闭空间
for(var i=0; i<aBtn.length; i++){
    (function(index){
     aBtn[i].onclick=function(){
   alert(index);
     }
 })(i);
}
12. arr.length=0;
     arr.splice(0,arr.length);
     arr.splice(0);
     循环pop、shift
     arr=[];
13. var oDate = new Date();
oDate.setDate(1);
oDate.getDay();
 
var oDate = new Date();
oDate.setMonth(oDate.getMonth+1,1);
oDate.setDate(0);
oDate.getDate();
 
14. var arr = str.split(' ');
var arr2=[];
for(var i=0;i<arr.length;i++){
     arr2.push(arr[i].charAt(0).toUpperCase()+arr[i].substring(1));
}
str = arr2.join(' ');
15. 九九乘法表
for(var i=1;i<=9;i++){
    for(var j=1;j<=i;j++){
          document.write(i+"*"+j+"="+i*j+" ");
     }
     document.write('<br>');
}
16. eval:把字符串转化成js能执行的东西
eval json转换成字符串的时候需要写成eval('('+str+")")
17. str="{a:1,b:2,c:8}"
18. 获取当前选中项的文字:oS.options[oS.selectedIndex].text;
删除第2个:oS.options.remove(1);
添加
var oP = new Option(value,text);
oS.options.add(oP);
 
[23,65,1,-100,66,33,43,93]
[93,65,1,-100,66,33,43,23]
[93,66,1,-100,65,33,43,23]
[93,66,65,-100,1,33,43,23]
[93,66,65,43,1,33,-100,23]
[93,66,65,43,33,1,-100,23]
[93,66,65,43,33,23,-100,1]
[93,66,65,43,33,23,1,-100]
[93,66,65,43,33,23,1,-100]
 
三、机试
1.taobao首页的轮播图。
2.联动选择
3.重构通过className获取元素
4.自定义的日期时间,要求有年月日时分秒,星期
5.计算器,:加减乘除取模。
6.qq资料框
7.打印出一个9行的直角三角形
8.打印出一个9行9列的方块
分享到:
评论

相关推荐

    JavaScript基础知识及常用方法总结

    所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的,通过本篇文章给大家介绍javascript基础知识及常用方法总结,对js基础知识及常用方法相关知识感兴趣的朋友一起学习吧

    前端面试八股文-超详细的前端基础知识的应用与技巧

    内容概要:本资源提供了一系列精心挑选的前端面试题,旨在帮助广大前端开发者系统复习和巩固基础知识,深入理解前端技术栈,以及提升解决实际问题的能力。题目涵盖了HTML、CSS、JavaScript的基础与进阶知识,同时也...

    awesome-threejs:搜集并学习threejs的相关知识总结、Demo、站点、书籍等

    搜集并学习threejs的相关知识总结、Demo、站点、书籍等,欢迎有兴趣的小伙伴一起交流学习。 three.js是以webgl为基础的库,封装了一些3D渲染需求中重要的工具方法与渲染循环。WebGL门槛相对较高,Three.js对WebGL提供...

    2一面 2:JS-Web-API 知识点与高频考题解析.md

    面试的时候,面试官基本不会出太多这方面的题目,因为只要基础知识过关了,这些 API 即便你记不住,上网一查也都知道了。下面列举一下常用功能的代码示例 获取浏览器特性(即俗称的`UA`)然后识别客户端,例如判断...

    【JavaScript源代码】JS实现多重选项卡切换轮播图.docx

     轮播动画来提升页面的颜值和交互性能,下面我们将一起学习利用html , css和Javascript等前端开发基础知识来制作一个简单的轮播图。 轮播图简介:在一个网站的某一特定模块,通过电脑上鼠标点击或鼠标移入、手机上...

    js_roadmap:JavaScript 开发人员路线图

    在 HTML 中,将其插入1) 基础知识JavaScript 词法结构JavaScript 变量数据类型评论 (1) JavaScript 数学运算符逻辑运算符周期三元运算符JavaScript 函数箭头函数JavaScript 循环视野范围严格模式 - “使用严格” 2)...

    Master-en-Programacion-FullStack-con-JavaScript-y-Node.js_ed2:FICTIZIA»使用JavaScript和Node.js进行FullStack编程的大师-第二版

    他们还将深入了解设计模式的使用,版本控制,测试以及使用Node.js的基础知识,这将使他们能够集成到现代高效的开发环境中。 在整个使用JavaScript和Node.js进行FullStack编程的大师中,您还将学到创建需要使用...

    JavaScript入门系列之知识点总结

    JavaScript 是属于网络的脚本语言。本文是小编日常收集整理些javascript入门基础知识,对js新手朋友非常有帮助,对js入门知识点感兴趣的朋友一起学习吧

    深入浅出学习组件(一):组件基础知识梳理

    首先,我们对组件的相关知识进行梳理,为实战项目的完成打好基础。 一、组件化的概念、特征、优点 1、组件化的概念: web中的组件是页面组成的一部分,就像电脑的元件,它们具有独立的逻辑和功能,但是又因为接口...

    Node.js 实战

    , 编辑推荐, 因为CNode社区点击率颇高、粉丝数万的《一起学node.js》,我认识了《Node.js实战》这本书的几位作者,他们在CNode社区内的贡献、与粉丝跟帖及回复频率,文章更新速度,让我确定了与其合作的想法。...

    很棒的学习:很棒的学习-以自己的进度学习JavaScript和前端基础知识

    与我们的仓库一起工作 分叉真棒学习库 将fork克隆到本地目录 导航到本地目录 安装依赖 yarn 开始很棒的学习 导航到新站点的目录并启动。 yarn develop 打开源代码并开始编辑! 您的站点现在在...

    Jeu-du-pendu-React:子手与React一起学习基础知识

    子手游戏 该项目是使用React构建的子手游戏。 它帮助我学习了React的基础知识。 技术领域 HTML5 CSS3 JavaScript React React DOM 去做: 添加画布以在发生错误的情况下“绘制”绞死的人

    JavaScript编程精解

    它在写作思路上几乎与现有的所有同类书都不同,打破常规,将编程原理与运用规则完美地结合在一起,而且将所有知识点与一个又一个经典的编程故事融合在一起,读者可以在轻松的游戏式开发中学会JavaScript程序设计,...

    JS-Fundamentals-2020-september:每次练习作业+ SoftUni JavaScript基础模块的所有考试

    JS基础知识-2020年9月对于课程通过“编程基础知识”,学生开始学习SoftUni的内部程序,以对软件工程师进行全面培训。 该课程检查编程中的基本概念,这是在专业模块中进行有效和高质量培训的基础。 学习者在“编程...

    videoteca:创建应用程序来一起练习Node.js和React的基础知识。 创建一个基本的API并在前端使用它

    使用的技术: MongoDB的Node.js 表示乌伊德猫鼬ReactReact图标Axios 驻波比新知识:Node.js: 在Node.js中,我能够学习如何使用应用程序开发的基本概念来创建API Rest ,例如: 在Node.js中创建CRUD; 根据社区使用...

    IntroToReact:为期3天的React.JS课程的课程

    对初学者的React该课程将在2015年8月在纽约举行的三晚中,教您React.js的基础知识。该课程已经完全预订,但是所有学习材料都可供所有人使用。日程第一天6:30-6:45:简介6:45-7:30:讲座:React基础知识7:30-7:45:...

    学习课件JavaScript学习文件.zip

    这些书籍和课程帮助我建立了坚实的知识基础,并提供了丰富的学习材料和实践经验。 其次,我积极参与在线社区和论坛,与志同道合的学习者交流心得和经验。这些社区不仅提供了丰富的学习资源,还让我结识了许多有趣的...

    js-stack-from-scratch::hammer_and_wrench_selector::high_voltage:分步教程以构建现代JavaScript堆栈

    它需要一些一般的编程知识和JavaScript基础。 它着重于将工具连接在一起,并为您提供每种工具最简单的示例。 您可以将本教程视为一种从头开始编写自己的样板的方法。 由于本教程的目的是组装各种工具,因此,我不会...

    course-overview

    6:30-6:45:简介6:45-7:30:讲座:React基础知识7:30-7:45:练习1成对在一起7:45-9:30:练习1:Todo-app 第二天 6:30-7:30:继续练习1 7:30-9:30:练习2:iTunes API应用 第三天 6:30-7:30:继续练习2 7:30-8:00:...

    博客:关注基础知识,打造优质前端博客,公众号[前端工匠]的作者

    努力打造合适的初中级工程师能够看得懂的优质文章,今年博客侧重于vue,node和webpack等逐步原理分析,如果想第一时间获取文章,欢迎关注我的公众号:前端工匠,接下去的路我们一起走! 版权声明:此处为博主原创...

Global site tag (gtag.js) - Google Analytics