javascript 基础知识总结

var timeoutid = window.setTimeout(function(){
       alert(123);
},1000);
clearTimeout(timeoutid);
window.setInterval(function,times);
--JSON对象不可扩展但是可以删除
Object.preventExtensions(obj);
--密封JSON对象 不可修改obj对象
Object.seal(obj);

var obj = new Object();

var person = {} ;
--定义属性是否可用修改
Object.defineProperty(person,"name",{
    writable:false, --configurable:false
    value:"xwL"
});

--Object
Object.create({name:"xwL",age:26});
--JSON.stringify(obj) 把json对象转换成字符串格式
--JSON.parse(""); 把字符串格式转换成json对象 
--这两个对象是相反作用的
function SuperClass(nameValue,ageValue){
       var name ;
       var age ;
       name = nameValue;
       age = ageValue ;
}
--JSON对象转换成字符串格式
JSON.stringify(json);
--字符串格式转换成JSON对象格式
JSON.parse(JSON.stringify(json));
-- js中方法分为 1.声明式方法 2.函数表达式方法

--闭包
function sub(){
		var name ;
		// 必须加this否则访问不到该方法 this是公有  不加则私有
		this.getName = function(){
			return this.name ;
		}
		this.setName = function(_name){
			this.name = _name ;
		}
	}
	
	var _sub = new sub();
	_sub.setName("lanweixing");
	alert(_sub.getName());
  
  --匿名函数就是一个闭包
  (function(){
      //自己所在的私有作用域 
  })();
  
  (function(){
    --使用全局变量来当做静态变量使用
		var name = "";
    --构造函数
		Person = function(_name){
			name = _name ;
		}
    --多个原型链的写法
		Person.prototype = {
				getName:function(){
					return name;
				},
				setName:function(_name1){
					name = _name1 ;
				}
		}
		var per1 = new Person("xxxx1");
		var per2 = new Person("xxxx2");
		alert(per1.getName());
		alert(per2.getName());
	})();
  --使用原型链来继承
  function PersonSub(){}
  --这样既可实现继承
  PersonSub.prototype = new Person();
  
  --JSON对象(冒号隔开)和类(等号隔开)是不一样的定义 
  var json = {name_:"xxxxx",age:25};
  var person = function(){
      
  };
  --遍历数组
  var arr = [1,3,4,5];
  --xx是下标
	for(var xx in arr){
		alert(xx +"  "+arr[xx]);
	}
  --遍历数组
  var json = {name:"lwx",age:25};
  --xx是json键值
	for(var xx in json){
		alert(xx +"  "+json[xx]);
	}
  var arr = [3,4,5,6,7,8,9,1] ;
	arr.sort();
	alert(arr.join("-")); --弹出 1-3-4-5-6-7-8-9
  --js中对象的种类有
  Object Array Date Math RegExp Fuction 
  --typeof 返回的类型有
  string number boolean undefined object 
  
  --js中的构造函数 可以在构造函数中定义其他的函数和属性
  function Person(name,age){
		this.name = name ;
		this.age = age ;
		this.getName=function(){
			return this.name;
		}
		this.setName=function(name1){
			this.name = name1;
		}
	}
  var xx = new Person('xxx',90);
  
  function Person(name){
		this.name = name ;
		this.sayName = function(){
			alert("你好:"+name);
		}
	}
	Person("AllenLan");//属性和方法都添加到window中
	//window.sayName();
	
	var obj = new Object();
  --call也可以不需要参数
	Person.call(obj,"xxx");// 在obj作用域中调用Person()构造函数 使得属性和方法都添加到obj对象中
	obj.sayName();
  
  --我们创建的所有函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象。
  function Person(){}
	Person.prototype.name = "xxx";
	Person.prototype.sayName = function(){
		return this.name ;
	}
	Person.prototype.setName = function(name){
		this.name = name ;
	}
	var person = new Person();
	alert(person.sayName());
	person.setName("Nic")
	alert(person.sayName());
	delete person.name;
	alert(person.sayName());
	alert(person.hasOwnProperty("name"));
  
  --使用extend来进行赋值操作
  var obj = {};
  $.extend(obj,{name:"xxx"},{age:28});
  $.extend(obj,{name:201},{name:209}); -- 返回的是 209 后面的同名属性'209'会覆盖前面的同名属性'201'
  alert(JSON.stringify(obj));
  
  --插件的开发分为类级别和对象级别
  
  $.method = function(){};--不用命名空间写法  $.method();
  $.pluginName = {method:function(){}};--使用pluginName命名空间写法 $.pluginName.method(); 只有在类级别上才能定义新的命名空间
  
  $.fn.method = function(){};
  --接受options参数以控制插件的行为让我们为我们的插件添加功能指定前景色和背景色的功能。
  
  <div class="hilight">Have a nice day!</div>
  // 插件的定义
	$.fn.hilight = function(options) {
    --注意这种写法
		var opts = $.extend({}, $.fn.hilight.defaults, options);
		--获得当前节点对象
		$this = $(this);
		var o = $.extend({}, opts, $this.data());
		// 设置样式
		$this.css({
			backgroundColor : o.background,
			color : o.foreground
		});
		var markup = $this.html();
		markup = $.fn.hilight.format(markup);
		$this.html(markup);
	};
	$.fn.hilight.format = function(txt) {
		return '<strong>' + txt + '</strong>';
	};
	$.fn.hilight.defaults = {
		foreground : 'red',
		background : 'yellow'
	};

select * from test for update;

SELECT T.NAME,
       SUM(DECODE(T.SUBJECT, '语文', T.SCORE, 0)) 语文,
       SUM(DECODE(T.SUBJECT, '数学', T.SCORE, 0)) 数学,
       SUM(DECODE(T.SUBJECT, '英语', T.SCORE, 0)) 英语
  FROM TEST T GROUP BY T.NAME
  
  select * from test1 for update ;
  
  create table target_customer(
         id int , firstname varchar2(20), lastname varchar2(20), age int,updatedate date
  )

  --调用插件
  $('.hilight').hilight({background:"green"});
  
  --document.cookie是一个字符串类型 使用document.cookie="name=lllwwwxxx;age=90" 每次只能添加一条cookie 即只能添加name 忽略age 
  --写cookies函数
	function setCookie(name,value)//两个参数,一个是cookie的名字,一个是值
	{ 
	 var Days = 30;
	 var exp = new Date(); //new Date("December 31, 9998");
	 exp.setTime(exp.getTime() + Days*24*60*60*1000); //此 cookie 将被保存 30 天
	 document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
	}
	setCookie("name","xxxx");
	
	--读取cookies函数  
	function getCookie(name)
	{
	 var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	 if(arr != null) return unescape(arr[2]); return null;
	}
	alert(getCookie("name"));
	alert(escape(" xxxx ") + "xxxx"); --escape函数把一些特殊字符也转换成字符 比如空格转换成 %20
	alert(escape({name:23}) + {name:23});
  
  -- 按键触发事件
	function look() {
		alert(event.keyCode);
		if (event.keyCode == 13) {
			alert("enter");
		}
	}
	if (document.onkeydown == null) {
		document.onkeydown = look ;
	}
  --document表示HtmlDocument对象 通过这个文档对象可以获得与页面有关的信息 而且还能操作页面的外观和底层结构
  
  var div = document.getElementById("div");
  div.getAttribute("id");
  div.removeAttribute("id");
  div.setAttribute("id","div");
  
  document.documentElement --表示<html> 对象
  document.body --表示<body> 对象
  document.cookie --表示cookie值 name=lan;age=23;xx=xx
  
  --同步,异步请求
  $.ajax({
      url : 'your url',
      data:{name:value},
      cache : false,
      async : true, --async进行设置同步异步 true异步 false同步
      type : "POST",
      dataType : 'json/xml/html',
      success : function (result){
              
      }
  });

猜你喜欢

转载自forlan.iteye.com/blog/2270063