AddComponent not working

Hello, Ive had this problem before of Destroying a component then not being able to re-add it. I fixed it bygameObject.AddComponent(ScriptName); but this time its not working. Is there a way to fix this or ignore the script?

function Update () 
{
if(GettingInVehicle.InVehicle==true)
{
Destroy (GetComponent (MouseLook));
}
if(Input.GetKey("o")&&GettingInVehicle.InVehicle)
{
gameObject.AddComponent(MouseLook);
}
}

you could just activate/deactivate it instead of destroying it.
just make a static public bool (which is c# for boolean or true/false) in the mouselook script and make an if statement that says if you’re not in the car, work. :

function Update () 
{
 if(GettingInVehicle.InVehicle)
 {
  MouseLook.inCar = true;
 }
 if(Input.GetKey("o")&&GettingInVehicle.InVehicle)
 {
  MouseLook.inCar = false;
 }
}

and the MouseLook script:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

/// MouseLook rotates the transform based on the mouse delta.
/// Minimum and Maximum values can be used to constrain the possible rotation

/// To make an FPS style character:
/// - Create a capsule.
/// - Add a rigid body to the capsule
/// - Add the MouseLook script to the capsule.
///   -> Set the mouse look to use LookX. (You want to only turn character but not tilt it)
/// - Add FPSWalker script to the capsule

/// - Create a camera. Make the camera a child of the capsule. Reset it's transform.
/// - Add a MouseLook script to the camera.
///   -> Set the mouse look to use LookY. (You want the camera to tilt up and down like a head. The character already turns.)
public class MouseLook : MonoBehaviour {

	public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }
	public RotationAxes axes = RotationAxes.MouseXAndY;
	public float sensitivityX = 15F;
	public float sensitivityY = 15F;

	public float minimumX = -360F;
	public float maximumX = 360F;

	public float minimumY = -60F;
	public float maximumY = 60F;
    static public bool inCar = false;
	float rotationX = 0F;
	float rotationY = 0F;
	
	Quaternion originalRotation;

	void Update ()
	{
		if(!inCar)
		{
		 if (axes == RotationAxes.MouseXAndY)
		 {
			 // Read the mouse input axis
			 rotationX += Input.GetAxis("Mouse X") * sensitivityX;
			 rotationY += Input.GetAxis("Mouse Y") * sensitivityY;

			 rotationX = ClampAngle (rotationX, minimumX, maximumX);
			 rotationY = ClampAngle (rotationY, minimumY, maximumY);
			
			 Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);
			 Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, Vector3.left);
			
			 transform.localRotation = originalRotation * xQuaternion * yQuaternion;
		 }
		 else if (axes == RotationAxes.MouseX)
		 {
			 rotationX += Input.GetAxis("Mouse X") * sensitivityX;
			 rotationX = ClampAngle (rotationX, minimumX, maximumX);

			 Quaternion xQuaternion = Quaternion.AngleAxis (rotationX, Vector3.up);
			 transform.localRotation = originalRotation * xQuaternion;
		 }
		 else
		 {
			 rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
			 rotationY = ClampAngle (rotationY, minimumY, maximumY);

			 Quaternion yQuaternion = Quaternion.AngleAxis (rotationY, Vector3.left);
			 transform.localRotation = originalRotation * yQuaternion;
		 }
		}
	}
	
	void Start ()
	{
		// Make the rigid body not change rotation
		if (rigidbody)
			rigidbody.freezeRotation = true;
		originalRotation = transform.localRotation;
	}
	
	public static float ClampAngle (float angle, float min, float max)
	{
		if (angle < -360F)
			angle += 360F;
		if (angle > 360F)
			angle -= 360F;
		return Mathf.Clamp (angle, min, max);
	}
}

Try gameObject.AddComponent(“Mouselook”);

private var myMouseLook;

function Awake(){

 myMouseLook = GetComponent(MouseLook);

}
function DisableMouseLook(){
myMouseLook.enabled = false;
}
function ActivatemouseLook(){

myMouseLook.enabled = true;
}