关于javascript的心得体会
篇一:个人心得javascript总结
1、javascript 是一种基于对象,和事件驱动的 并具有安全性的脚本语言;基于对象,动态语言,无需编译,直接解释执行;
2、可以放在的地方;
A、 大括号{ }通常用来括起一行或多行语句。 注释: JavaScript提供了两种注释符号: “//” “” JavaScript基本语法—数据类型 JavaScript的数据类型分为基本数据类型和复合数据类型,复合数据类型主要有对象、 数组和函数。 简单数据类型 JavaScript的基本数据类型有数值型、字符型、逻辑型,以及两个特殊的数据类型。 1.普通数值型 与C、C++、Java等语言不同,JavaScript中的数值包含整数和浮点数。 2.特殊数值型 特殊数值型包括Infinity和NAN。 Infinity表示值超出了可表示的最大值的范围,而NAN是“not a number”的缩写形式,表示undefined表达式结果为数值型数据。 3.字符型 在JavaScript中,字符串是一组被引号(单引号或双引号)括起来的文本。注:JavaScript不对字符和字符串加以区分。 字母、数字与标点可以放在字符串内,但诸如换行符等符号,若要在字符串中使用,必须用到转义字符。 【常用的转义字符如下】 【注意】 由于字符串是用单引号或双引号括起来的,所以当字符串中出现引号时,必须进行转义,但若单引号内出现双引号或双引号内出现单引号时,则无需转义。 4.Boolean布尔型(true or false) 特殊数据类型 在JavaScript中,有一些是没有任何类型的变量,称为undefined,还有一种空值数据类型。 1.无定义数据类型(undefined) undefinded用来表示不存在的值,或者尚未赋值的变量。 如果只声明了m,而没有为其赋值,此时判断m的类型,就是undefined。如果赋予一个不存在的属性值,系统也会认为是undefined。 2.空值(null) null表示空值,是一个“什么都没有”的占位符。 【null与undefined的区别】 undefined表示一个变量尚未赋值; null表示该变量被赋予了一个空值。 基本类型与合成类型 基本数据类型在内存中有固定大小,而合成类型(如对象、数组、函数等类型)则可以具有任意长度。因此,不能将合成类型直接存储在关联每个变量的固定内存地址中,实际上存储的只是这个值的引用。 类型转换 JavaScript是一种无类型语言。在声明变量时无需指定数据类型,这使得JavaScript具有灵活性和简单性。在代码执行过程中,JavaScript会根据需要进行自动类型转换。 转换规则 1. 转换为逻辑型数据 undefined: false null: false 数值型:若为0或NaN,则结果为false,否则为true 字符串型:若长度为0,则结果为false,否则为true. 其他对象:true 2.转换为数值型数据 undefined: NaN null: 0 逻辑型:值为true,则结果为1,值为false,则结果为0 字符串型:若内容为数字,则结果为相应数字,否则为NaN 其他对象:NaN 3.转换为字符串型数据 undefined: Undefined null: NaN 逻辑型:若为true,则结果为”true” 提升基本数据为对象 每一个基本数据类型都存在一个相应的对象,这些对象提供了一些很有用的方法来处理基本数据。 例如,String对象提供了一个toLowerCase()方法来把一个字符串转换为小写格式。 JavaScript基本语法—变量 JavaScript是一门弱类型的语言,所有的变量定义均以var来定义。 JavaScript的变量应该先定义,再使用。虽然JavaScript可以不需定义即可直接使用变量,但不建议这么做。 类型规则 JavaScript、Java和C这样的语言之间存在一个重要的差别:JavaScript是无类型的,即JavaScript的变量可以存放任何数据类型的值,而Java和C的变量都只能存放特定类型的数据。 与HTML不同,JavaScript区分大小写 声明变量 在JavaScript中,变量使用关键字“var”来声明。声明变量必须遵循以下规则: 可以使用一个var同时声明多个变量。 可以在声明变量的同时对其进行赋值。 如果只是声明了变量,并未对其赋值,其值默认为undefined。 使用var多次声明同一变量也是允许的,如果重复声明的语句已有一个初始值,此时 的声明就相当于对变量的重新赋值。 JavaScript基本语法—数组 数组定义 var arr=new Array(3); 通过arr.length取得数组的长度 Javascript数组可以越界访问元素 创建一个数组有以下3种方式: new Array(); new Array(len); new Array([item0,[item1,[]]]); 【注意】 数组中的每个元素代表了一个变量,而JavaScript中的变量是没有类型的,因此数组 元素也是没有类型的。所以,可以在一个数组中存储不同类型的数据。 数组使用 使用方式: myarray=new Array(num) myarray=new Array(value1,value2) num不设定,则按数组默认的最大长度自动设定。例如: JavaScript基本语法—表达式 表达式 表达式是一个句子,用于JavaScript脚本进行运行、运算的句子。其可以包含常量、变量、运算符等。表达式的结果通常会通过赋值语句赋值给一个变量,或直接作为函数的参数。 JavaScript基本语法—运算符 算术运算符 运算符是在表达式中用于进行运算的一种符号。JavaScript包括+、-、*、/、%等算术运算符。 减号(-)的特殊含义 减号(-)的另外一种用法是对数值或数值型变量求反。 赋值运算符 赋值运算符只有一个等号“=”,其作用是给变量赋值。 比较运算符 比较运算符用来连接操作数用来组成比较表达式,比较表达式的结果为逻辑值trut或false。 常用的比较运算符有:< 、 、>=、 !=、==、===、 !== 补充说明 条件语句中使用=符号 在条件语句中如果误将“=”用于“==”,程序将不会报错,但运行结果错误。 比较运算符的自动转换 在比较过程中,“!=”和“==”会进行自动类型转换,而“!==”和“===”则不转换。 【注意】 进行相等比较时,如果不希望进行类型自动转换,则应使用“===”。 逻辑运算符 常用的逻辑运算符:&&、||、! 位运算符 篇三:JavaScript个人总结 1.JS类的写法: (xx.js)(function($){ function abc() { } js.phone_click(\"this is abc\"); js={ }; phone_click : function(personData){ } alert(personData); })(jQuery); 在xx.js文件中JS={}相当于有个JS对象, 只是不需要new去生成对象; 也可将目录名与对象名命名为一致,以便于引用,{}是类的写法,此类中可有多个方法,或多个属性的存在; 属性的写法为:userName:”zhangshan”, 方法签名如:phone_click : function(personData){} 属性与方法之间用逗号隔开; 在类中不能将方法签名写成:function phone_click (personData){},因为类中的描述是以JSON”格式的写法;也可将js对象理解为“JSON”对象串; 调用时,包名(目录名)点的形式调用; 2.JavaScript对象的'形式写法: var obj=new Object();//先生成对象 obj.xxx=false;//添加属性 obj.test=function(){}//添加方法 ///////////////////////////////////////////////////////////////// var obj={};//声明对象 obj.xxx=false;//添加属性 obj.test=function(){}添加方法 也一样,另外 var obj=function(name,age){//构造函数 this.name=name;//属性 this.age=age;//属性 this.test=function(){}//方法 } 解释“prototype”: 原始类型; obj.prototype.test2=function(){}//原形中覆盖方法; obj.prototype.name=\"3333\";//原形中覆盖属性; obj.prototype.name=\"3333\";与obj.xxx=false;的区别; 前者是相当于覆盖原形中的属性,后者是对象中添加属性; 3.普通的方法; Function alert(){alert(“test”)} 写在(function($){})(jQuery);中,部调不到,除非是绑定的事件或自定义方法,写在里面是加载即执行; 4.自定义方法: (function($){ function abc() { } alert($.prop); $.fn.dosh(); $.prop='自定义属性'; $.fn.dosh=function (){ alert('自定义方法'); } })(jQuery); 5.类属性的写法: var parameter={}; parameter.userName=“lishi”; 不能将写成var parameter={username=”lishi”;}; 6. jQuery插件引用的写法及区别; (A).$(function(){ $(\"#userName\").val(\"abcde\"); }); (B).(function($){ $(\"#userName\").val(\"abcde\"); })(jQuery); A与B的区别:A再DOM加载后执行,B加载即执行(对DOM操作时,保证先加DOM再加载B,否则操作不到对DOM而不会报错),要是调用不到就不会执行了: 通常使用第二种方法来开发jQuery插件,利用闭包的特性可以避免内部的临时变量影响到全局,同时通过将jQuery传进闭包,可以方便的使用$符号。一般使用还是使用第一种方法吧,DOM解析完毕就会执行,一般插件不会具体去写哪个DOM元素的事件的,因为都是在jQuery导入后导入插件,可以把要操作的DOM对象传进插件里再实现具体的操作; 7.对象原型中的方法覆盖(重写):如; String.prototype.trim=function() { // 用正则表达式将前后空格用空字符串替代。return this.replace( /(^s*)|(s*$)/g, \"\" ); } 8.query,Ajax请求拼接Json字符串时,value值应加单引号,或双引号; 如下; String data=“{id:’no1’,value:’111’}”; String data=“{id:”no1”,value:”111”}”; 9.方法中的对象声明的写法: Var parameter={}; parameter.getSystemParam=function(){ //公共参数 parameter.checkXml={}; 在此方法中,再添加一个对象 } 调用时可写成:parameter.checkXml.; 10.变量声明的作用或: var server='post.html';此变量的作用域是全局变量; 11.属性数组,对象的声明: (function($){ request=$.extend(request, { entAdd: [],//属性数组的声明; html:{} 因篇幅问题不能全部显示,请点此查看更多更全内容