`
ganjp
  • 浏览: 71886 次
  • 性别: Icon_minigender_1
  • 来自: 其实还可以
社区版块
存档分类
最新评论

js的基础知识和提高

阅读更多

看到一个分辨js水平的简单的例子: 问题是判断当前是星期几、

  初级想到的是 switch case 或者if else


 function one() {

var weekday = new Date().getDay();

var str = "今天是星期";

switch(weekday) {

  case 0 :

             str+="日";

     break;

   ......

        }

return str;

  }


 稍微进阶的:

   var weekdays = ['日','一','二','三','四','五','六'];

   var week = new Date().getDay();

   alert("今天是星期" + weekdays[week]);


更简便点的:

   var str = "今天是星期" + "日一二三四五六".charAt(new Date().getDay());


慢慢的就变成一行代码了。别看这个很简单 能这么想这跟视野和知识水平很有相关


废话不都说了 慢慢的介绍javascript的一些知识和用法吧  水平比较一般 看官见谅:




1.通过一个去除js数组重复元素的例子引入一些语法知识:

 <script type="text/javascript">
	var data = [1,2,2,8,6,8];
    data = unique(data);
	//alert(data.length);
	/*for(var i = 0 ; i < data.length ; i ++){
		alert(data[i]);
	}*/
	for(var i in data) {
		alert(data[i]);
	}

	function unique(data) {
		data = data || []; //意思是如果data是null 就赋值[]
		var a = {} ;//对象
		for( var i = 0,len = data.length ; i < len ;i ++) {
			var v = data[i];
			//如果typeof[a[v]]不等于undefined就说明已经存在这个值了 就不往a对象里面放值了 
			//这样就保证了数组data中重复的值在a的下标中只存在一个
			if('undefined' == typeof(a[v])) {
				a[v] = 1; //随便赋值一个 因为这里只要下标 值无关紧要
			}
		}
		//重置数组
		data.length = 0;
		//往数组中添加值
		for(var i in a){
			//这里数组的长度会增加
			data[data.length] = i;
		}
		return data;
	}

 

上面涉及到的两个重点的东西:1.for in 循环  2.作为关联数组的对象(上面的对象a)


简单介绍下for in循环>>>

 语法: for(variable in object) {

              statement

          }

variable可以是 声明的一个var的变量 数组的一个元素 或者是对象的一个属性


循环过程中 会对主体object的每一个属性执行一次,把属性名以字符串的形式赋值给variable变量  这里就可以用"[]"

运算符获得属性值



for/in循环 遍历对象的下标和值(取值的时候用[]运算符 这里不能用obj.xx属性 不然得到的会是undefined)

var obj = {x:1,y:2,z:3};
    for(var i in obj) {
        alert('下标>' + i + ": 值>" + obj[i]);
}

这里就涉及到了关联数组对象(等下关注)


javascript中的数组其实就是特殊的对象,对对象可以用for/in循环 对数组当然也不例外。。



2.关联数组的对象

 var obj = {x:1,y:2,z:3};

我们可以通过 obj.x obj.y obj.z  "."运算符来获取对象属性值,而"[]"多是用来存取数组的 但是以下两行代码是等价的:


object.property

object["property"]

区别在于>>前者的property是一个标识符 而后者则是一个字符串 。(这里估计有人迷糊了 有什么不同呢??)

        java中一个对象的属性是固定的  不能在执行过程中动态添加属性,但是javascript中可以为对象创建任意数目的属性,当用"."来获取对象的属性值时,属性是一个标识符  而在javascript的标准中 标识符必须是逐个输入的,他们不是一种数据类型,程序是不能操作的。

        而当用"[]"时候,属性是字符串 而字符串是javascript的一种数据类型,可以在程序运行过程中操作并创建的。。


就比如

var obj = {x1 : "sss", x2 : "ddd", x3 : "aaa"};
    var str = "";
    for(var i = 1; i <= 3 ;i++) {
        str += obj["x" + i];  //能通过字符串拼接的方式来访问 而不能通过obj.("x" + i)
    }
    alert(str);



还比如上面的去除重复的例子:

var a = {};
var key = "name";

a[key] = "ganjp";
alert(a.name); 

for(var n in a) {
        alert(a[n]);
}

可以通过这种方式 增加属性  


这里for/in的强大之处 也体现出来了  如果没有for/in我们在不知道属性的情况下 根本不可能去获取所有的属性、

 

 

 

分享到:
评论

相关推荐

    JavaScript基础知识总结

    1. JavaScript 的基础知识 在学习 JavaScript 之前,你需要了解 HTML 和 XHTML 的基础。JavaScript 被设计用来向 HTML 页面添加交互行为,通过在 HTML 中插入 JavaScript 代码,可以实现页面元素的动态操作和用户...

    js基础知识点总结-入门级别

    ### JavaScript基础知识点总结—入门级别 #### 一、JavaScript简介 JavaScript是一种主要应用于网页开发的脚本语言,它能够在客户端运行。通过JavaScript可以为网页添加动态效果,改善用户体验,例如实现网页元素...

    JavaScript语言基础知识点总结十张图

    以上十个方面涵盖了JavaScript语言的基础知识点,通过学习和掌握这些内容,开发者可以更好地理解和运用JavaScript进行Web开发。在实际应用中,还需要结合浏览器环境、Node.js环境以及各种框架和库来提升开发效率和...

    JavaScript入门篇,JavaScript基础知识

    在学习JavaScript的过程中,持续实践、不断阅读优秀的代码、及时复习和巩固知识,是成为熟练JavaScript开发者的必经之路。随着技能的提升,你将能够利用JavaScript创造出更多富有创意和功能强大的Web应用。

    JavaScript学习笔记,javascript基础知识,基础语法整理.pdf

    JavaScript基础知识点总结 JavaScript是一种高级的、动态的、基于对象的客户端脚本语言。它是在网页上执行的脚本语言,能实现网页的交互功能。下面是该资源中的重要知识点总结: 一、 JavaScript 基本概念 * ...

    JavaScript基础知识和资源___下载.zip

    这个“JavaScript基础知识和资源”压缩包可能是为了帮助初学者或开发者巩固JavaScript的基础知识,同时也可能包含了一些实用的工具和参考资料。 JavaScript的核心概念包括变量、数据类型、控制结构(如条件语句和...

    JS中的基础知识点

    ### JavaScript基础知识点详解 #### JavaScript概述与执行位置 JavaScript是一种广泛应用于网页开发的脚本语言,主要用于客户端实现交互效果。JavaScript具有多种不同的执行位置,主要包括: 1. **内联脚本**:...

    前端JS基础知识点及常考面试题汇总

    本篇内容将深入探讨前端JS基础知识点及其常考面试题,帮助面试者和开发者巩固基础,提升技能。 **变量与数据类型** 在JavaScript中,变量的声明使用`var`、`let`或`const`关键字。数据类型分为基本类型(如字符串、...

    Javascript基础知识

    在JavaScript基础知识中,首先我们需要理解其基础语法,包括变量(var、let、const)、数据类型(如字符串、数字、布尔、null、undefined、对象和数组)、操作符(算术、比较、逻辑、赋值等)以及流程控制语句(条件...

    html+css+js基础知识ppt

    学习HTML、CSS和JavaScript,首先要掌握基本语法和常用标签,如HTML的`&lt;div&gt;`, `&lt;img&gt;`, `&lt;a&gt;`等,CSS的选择器、属性和值,以及JavaScript的数据类型、变量、操作符、条件语句、循环等基础概念。然后深入理解盒模型...

    前端基础知识(css+js+vue)概览

    这里,我们将重点介绍前端开发中的CSS和JavaScript基础知识,以及Vue.js框架的入门知识。 CSS(层叠样式表)用于描述网页的呈现,包括布局、颜色、字体等视觉样式。在CSS中,“盒子模型”是一个核心概念,它规定了...

    一、前端开发基础知识:JavaScript核心概念与实际应用入门

    文中列举了多种编程技巧和实例,如数据类型的处理、运算符的应用、流程控制语句等,使初学者能够全面掌握JavaScript的基础知识和技术。 适合人群:面向编程新手及对JavaScript感兴趣的学习者。 使用场景及目标:适合...

    JavaScript修炼之道,js提高必备书籍

    书中首先会介绍JavaScript的基本语法,包括变量、数据类型、控制流(如条件语句和循环)、函数以及作用域等基础知识。理解这些概念是进阶学习的基础,也是编写高效、可维护代码的前提。 深入探讨原型和原型链是...

    javascript语言基础到提高

    这些基础知识是理解任何编程语言的基础,也是编写JavaScript代码的起点。 接下来,进一步深入到对象和数组的理解,这是JavaScript中的核心特性。对象允许我们创建复杂的数据结构,而数组则提供了一种存储和操作多个...

    JavaScript全程指南(基础知识、高级编程、特效实例、Ajax)

    JavaScript全程指南是一本深入浅出的教程,涵盖了从基础知识到高级编程技巧,再到特效实例和Ajax应用的全方位知识。此书旨在帮助读者从零开始掌握JavaScript这一强大的客户端脚本语言。 在基础知识部分,读者将了解...

    javascript前端知识汇总

    JavaScript,作为一种广泛...以上内容涵盖了JavaScript前端开发中的主要知识点,从基础语法到高级特性,再到实际应用中的各种技术和最佳实践。通过深入理解和掌握这些知识,开发者可以有效地创建功能丰富的前端应用。

    一本关于Express.js最好的书Express.js - pro Express.js的基础知识.zip

    总之,"Express.js - Pro Express.js"这本书会带你深入探索Express.js的世界,从基础知识到高级特性,让你成为一名精通Express.js的开发者。通过实践和不断的探索,你将能够利用Express的灵活性和强大功能,构建出...

    1 妙味课堂原创JavaScript视频教程 JS基础教程5课资料

    妙味课堂的这个原创JavaScript视频教程,旨在帮助初学者系统地学习和掌握JS的基础知识。 教程共分为5课,涵盖了JavaScript的基础内容,以下是每一课可能涉及的关键知识点: **第1课:JavaScript入门** - ...

    html、css、javascript、ajax、weex、vue.js、less、webpack等前端学习基础知识.zip

    学习和掌握这些基础知识,将有助于你构建功能丰富、交互性强、性能优秀的现代Web应用。在实际项目中,通常会结合使用这些工具,例如使用Vue.js构建前端应用,通过Webpack进行打包,使用Less编写样式,同时利用Ajax...

Global site tag (gtag.js) - Google Analytics